我有如下字符串列表
['ENST00000641515.2', 'ENSG00000186092.6', 'OTTHUMG00000001094.4',
'OTTHUMT00000003223.4', 'OR4F5', '202', 'OR4F5', '2618', 'UTR5', '1', '60',
'CDS', '61', '1041', 'UTR3', '1042', '2618', '', 'ENST00000335137.4',
'ENSG00000186092.6', 'OTTHUMG00000001094.4', '', '', 'OR4F5', '201', 'OR4F5',
'1054', 'UTR5', '1', '36']
我想遍历此列表,并且如果string为'UTR5',我想将其后的两个连续字符串彼此相减(前一个为后者)。相减的值应该相加,最后打印出答案。
示例:在第一个'UTR5'之后有1和60。所以我想减去60-1。在第二个'UTR5'中它是36-1。最终答案应打印为94
我是python的新手,有人可以给我推荐一个脚本。提前致谢。原始列表很大。我给出了一个简短的版本。
lst = ['ENST00000641515.2', 'ENSG00000186092.6', 'OTTHUMG00000001094.4',
'OTTHUMT00000003223.4', 'OR4F5', '202', 'OR4F5', '2618', 'UTR5', '1', '60',
'CDS', '61', '1041', 'UTR3', '1042', '2618', '', 'ENST00000335137.4',
'ENSG00000186092.6', 'OTTHUMG00000001094.4', '', '', 'OR4F5', '201', 'OR4F5',
'1054', 'UTR5', '1', '36']
total = 0
for i, x in enumerate(lst):
if lst[i] == 'UTR5':
total += (int(lst[i + 2]) - int(lst[i + 1]))
print(total)
看一看可迭代对象的for循环中的enumerate
用法