如何获取函数 startswith() 为真的值的索引?
How do I get indices of values where function startswith() is true?
如何获取函数 "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
:
indices = [index for index, s in enumerate(e) if s.startswith("0.")]
在我看来,您有两种选择。第一个,有一个变量来知道你现在所在的索引:
s = line.rstrip("\r\n").split(',')
e = [a.replace(" ", "") for a in s]
j=0
for i in e:
if i.startswith("0."):
print j
print i
另一个,正在改变你迭代的方式:
s = line.rstrip("\r\n").split(',')
e = [a.replace(" ", "") for a in s]
j=0
for i in range(len(e)):
if e[i].startswith("0."):
print i
print e[i]
这不会打印逗号,但应该很容易添加,因为我不确定您是否想要逗号,或者那些只是显示您想要的内容的一种方式。
如何获取函数 "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
:
indices = [index for index, s in enumerate(e) if s.startswith("0.")]
在我看来,您有两种选择。第一个,有一个变量来知道你现在所在的索引:
s = line.rstrip("\r\n").split(',')
e = [a.replace(" ", "") for a in s]
j=0
for i in e:
if i.startswith("0."):
print j
print i
另一个,正在改变你迭代的方式:
s = line.rstrip("\r\n").split(',')
e = [a.replace(" ", "") for a in s]
j=0
for i in range(len(e)):
if e[i].startswith("0."):
print i
print e[i]
这不会打印逗号,但应该很容易添加,因为我不确定您是否想要逗号,或者那些只是显示您想要的内容的一种方式。