Я новичок в Python и пытаюсь выяснить, как решить следующую проблему. У меня есть два списка, песни1 выглядит следующим образом:Инкремент переменной внутри цикла
['10','12','12','23]
И песни2 выглядит следующим образом:
['15','16','13','15']
У меня также есть словарь, состоящий из следующих ключевых значений:
dictionary = {
'10': 'AATGCGTAAGCTAGCGATAGATGCAACGTT',
'12': 'GGTCAGAGTTTATCGGTATGTTAGCATGGA',
'23': 'ATGGGCGCGTATATTAAAGGCGCCGCCCTG'
}
Ключи в этом словаре состоят из этих элементов в списке1. Каждый элемент в списке1 также связан с одним элементом в списке2 (для того, чтобы «10» в списке1 ассоциировался с «15» в списке2, «12» в списке1 с «16» в списке2 и т. Д.).
Для каждого элемента в списке1 я хотел бы взять соответствующее значение словаря и вставить символы в определенные позиции, используя связанный элемент в списке2, чтобы определить позиции. До сих пор я работал на цикл, чтобы сделать это:
for i in list1:
dict_key = dictionary.get(i)
pos = int(list2[0])
full = dict_key[:pos] + '[' + dict_key[pos] + ']' + dict_key[(pos+1):]
print(full)
Я хотел бы мой окончательный вывод выглядеть следующим образом:
AATGCGTAAGCTAGC[G]ATAGATGCAACGTT
GGTCAGAGTTTATCGG[T]ATGTTAGCATGGA
GGTCAGAGTTTAT[C]GGTATGTTAGCATGGA
ATGGGCGCGTATATT[A]AAGGCGCCGCCCTG
Но мой выход в настоящее время выглядит следующим образом, потому что я в частности, называя только индексом 0 из list2:
AATGCGTAAGCTAGC[G]ATAGATGCAACGTT
GGTCAGAGTTTATCG[G]TATGTTAGCATGGA
GGTCAGAGTTTATCG[G]TATGTTAGCATGGA
ATGGGCGCGTATATT[A]AAGGCGCCGCCCTG
Я хочу, чтобы увеличить элемент, который вызывается для в list2 на 1 с каждой итерации цикла, но я не могу показаться, чтобы выяснить это. Должен ли я определять новую переменную с использованием диапазона? Любые комментарии будут оценены!
Спасибо за это решение @Randy C!Очень просто и делает то, что я хотел, также будет полезно знать в целом. Еще раз спасибо! – nrcombs