在函数“startswith()”为真的情况下,如何获取值的索引
例如:假设我有一个列表list = ['gene1' , 'gene2' , '0.3', '', '2.3','','0.4']
如果浮点以“0”开头,我想打印基因1和基因2的值和该值的索引
现在我有:
s = line.rstrip("\r\n").split(',')
e = [a.replace(" ", "") for a in s]
for i in e:
if i.startswith("0."):
print "e[0],e[1], i
但这只给了我1个值和2个基因
我想打印:
gene1, gene2, 2, 0.3, 6, 0.4
其中2是出现0.3的索引,6是出现0.4的索引
考虑一下
[(i, s) for i, s in enumerate(e) if s.startswith("0.")]
使用列表理解和
enumerate
:在我看来,你有两个选择。第一个,有一个变量来知道你现在所在的索引:
另一个是改变迭代的方式:
这不打印逗号,但这应该很容易添加,因为我不确定你想要的逗号或那些只是一种方式来显示你想要的
相关问题 更多 >
编程相关推荐