Python 输出行号及其值
我有一段代码,它在一个巨大的csv文件中查找某个值。对于文件中表示为“行[2]”的第2列,这些值为223.2516;对于表示为“行[3]”的第3列,这些值为58.053。我已经设置了代码,这样我就可以在确定的限制内找到任何接近这些值的东西。我知道223.2516的值在文件中不存在,所以我正在查找代码中所显示的相对接近的所有内容。最后两个命令提供所有值的输出:Python 输出行号及其值,python,search,csv,output,Python,Search,Csv,Output,我有一段代码,它在一个巨大的csv文件中查找某个值。对于文件中表示为“行[2]”的第2列,这些值为223.2516;对于表示为“行[3]”的第3列,这些值为58.053。我已经设置了代码,这样我就可以在确定的限制内找到任何接近这些值的东西。我知道223.2516的值在文件中不存在,所以我正在查找代码中所显示的相对接近的所有内容。最后两个命令提供所有值的输出: In [54]: [row[2] for row in data if abs(row[2]-223.25)<0.001] Out
In [54]: [row[2] for row in data if abs(row[2]-223.25)<0.001]
Out[54]:
[223.24945646,
223.25013049,
223.25093125999999,
223.24943973000001,
223.24924296,
223.24958522]
[54]中的
:[row[2]用于数据中的行,如果abs(row[2]-223.25)问题看起来很熟悉。使用enumerate。例如:
data = [[3, 222], [8, 223], [1,224], [5, 223]]
A = [ [ind,row[0],row[1]] for ind,row in enumerate(data) if abs(row[1]-223)<1 ]
print A
[[1, 8, 223], [3, 5, 223]]
data=[[3222]、[8223]、[1224]、[5223]]
A=[[ind,row[0],row[1]]对于ind,如果abs(row[1]-223)@brechmos有枚举(data)中的row。更明确地说,允许您在遍历任何迭代器时跟踪其隐式索引
phrase = 'green eggs and spam':
for ii, word in enumerate(phrase.split()):
print("Word %d is %s" % (ii, word))
输出
Word 0 is green
Word 1 is eggs
Word 2 is and
Word 3 is spam
可能重复的
[ [ind, row] for ind,row in enumerate(data) if abs(row[2]-223.25)<0.001]
phrase = 'green eggs and spam':
for ii, word in enumerate(phrase.split()):
print("Word %d is %s" % (ii, word))
Word 0 is green
Word 1 is eggs
Word 2 is and
Word 3 is spam