У меня следующие два типа ввода:Как изменить функцию .split для применения к различным буквенным числовым входам?
## Case 1 (a)
# Input #1(a)
>qrst
ABC 10 9 7
>qqqq
ACC 2 5 3
# Case 1 (b) --> Simplified form of Case 1(a)
# Input #1()
>qrst
A 10
>qqqq
A 2
# After reading in the file and making it a list I store the above in l
l = ['ABC 10 9 7', 'ACC 2 5 3'] # Case 1(a)
l = ['A 10', 'A 2'] # Case 1(b)
#In the following code I split the alpha-numeric elements above and
#create separate lists where I store the alphabets alone (in list "sequences") and
#numeric alone (in list "qualities")
ll = len(l)
all_inputs = []
for i in range(0,ll):
sq = l[i]
sequence = sq.split(" ")[0] ## Stores only the alphabets
qualities = sq.split(" ")[1:] ## Stores only the numeric
qualities = filter(None, qualities)
for sub in sequence:
if sub == "-":
idx = list(sequence).index(sub)
qualities.insert(idx,"0")
all_inputs.append((sequence, qualities))
print
#Case1(a) Output reads currently reads as
A #print sequence
['2'] #print qualities
я сталкиваюсь другой тип входного файла следующим образом:
## Case 2
# Input #2
>qrst
A #No space after A
10
>qqqq
A #No space after A
2
Here
l = ['A10', 'A2']
I use the same code as above
#Case2 Output reads currently reads as
A2 #print sequences
[] #print qualities
мне нужно #case 2 также иметь выход последовательность #print ['2'] #print качества
Как изменить приведенный выше код, чтобы он мог вместить как ['ABC 10 9 7', 'ACC 2 5 3'], так и ['A 10', 'A 2 '] или [' A10 ',' A2 '] входного файла /' l «? Мне нужен случай 2, чтобы иметь тот же результат, что и случай 1 (b), поэтому я могу применить одну и ту же строку кода позже. Но помните, что это должен быть обобщенный код для случая 1 и случая 2.
Звуки, как вы просите домашних заданий. Это не то, для чего этот сайт. –
Кроме того, ваш вопрос не очень корректный. –
Пожалуйста, пересмотреть свой вопрос, чтобы быть более понятным, как каждый из ваших входов образца должен вести себя с точным ожидаемым выходом. Пожалуйста, прочитайте, как собрать [mcve], чтобы помочь в редактировании вашего вопроса, чтобы он был хорошо принят. – idjaw