在以下项目列表中,我想一次访问两个连续的列表项,并访问索引。最重要的是列表的第一个和最后一个项目,我想重复数据。
my_list = ['A','C','G','T','T','C','G','A','G']
print(my_list)
print()
for (n1, v1), (n2,v2) in zip(enumerate(my_list), itertools.islice(enumerate(my_list), 1, None)):
print(v1)
print(v2)
print()
# gives me
['A', 'C', 'G', 'T', 'T', 'C', 'G', 'A', 'G']
(0, 'A')
(1, 'C')
(1, 'C')
(2, 'G')
(2, 'G')
(3, 'T')
(3, 'T')
(4, 'T')
(4, 'T')
(5, 'C')
(5, 'C')
(6, 'G')
(6, 'G')
(7, 'A')
(7, 'A')
(8, 'G')
如何,我只为第一个和最后一个项重复相同的索引?
预期产出:
(0, 'A')
(0, 'A')
(0, 'A')
(1, 'C')
(1, 'C')
(2, 'G')
.....
.....
(8, 'G')
(8, 'G')
答案 0 :(得分:0)
您可以重新构建for
子句并添加几个if
语句:
for i, j in enumerate(zip(enumerate(my_list), itertools.islice(enumerate(my_list), 1, None))):
(n1, v1), (n2,v2) = j
if i == 0:
print((n1, v1))
print((n1, v1), '\n')
print((n1, v1))
print((n2,v2), '\n')
if i == len(my_list) - 2:
print((n2, v2))
print((n2,v2), '\n')