首页 > 解决方案 > Python throwing ValueError: is not in list 尽管它在列表中

问题描述

我通过在 Python 中导入 CSV 文件来填充一个元组。现在,当我尝试获取该元组中某个值的索引时,Value error: is not in list尽管该值存在,但它给出了。下面是我与示例数据一起使用的代码。以下是csv的内容

IsNonPO,ApprovedState,ApprovalRecords/0/Comment,ApprovalRecords/0/Comment.Date

我正在使用以下代码

import csv
flist = [tuple(row) for row in csv.reader(open('D:\\result_IV.csv', 'rU'))]
print (flist)
x = flist.index('IsNonPO')
print(x)

下面是我得到的输出

 [('IsNonPO', 'ApprovedState', 'ApprovalRecords/0/Comment','ApprovalRecords/0/Comment.Date']
File "C:/Users/abc/PycharmProjects/Default/first.py", line 10, in <module>
 x = flist.index('IsNonPO')
ValueError: 'IsNonPO' is not in list

标签: python

解决方案


这里的问题是,您正在解析元组中的 CSV 内容,然后将该元组存储在列表中。

    flist = [('IsNonPO', 'ApprovedState', 'ApprovalRecords/0/Comment','ApprovalRecords/0/Comment.Date')]

所以要访问第一行,请使用 flist[0]

然后要获取元组中值的索引,请使用:

    flist[0].index('IsNonPO')

只需将第 10 行更改为:

    x = flist[0].index('IsNonPO')

推荐阅读