【发布时间】:2018-07-28 07:52:00
【问题描述】:
我正在尝试创建一个循环来遍历一个二维列表,如果循环找到第一个元素中的匹配字符串,那么它会将 +1 添加到列表的第二个元素。
列表示例:
[[mike, 0], [john, 2], [henry, 0], [sam, 1]]
如果所需的搜索是约翰,这将发生:
[[mike, 0], [john, 3], [henry, 0], [sam, 1]]
然后是迈克:
[[mike, 1], [john, 3], [henry, 0], [sam, 1]]
在下面的场景中,'name' 是需要找到的字符串。
我还从 CSV 文件中提取名称列表,然后将更新后的列表写回。
我似乎无法让它工作,并且返回给我的错误是
'TypeError: int() 参数必须是字符串、类似字节的对象或数字,而不是'list''
def count(name):
with open('nameList.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
nameList = list(reader)
for x in range(len(nameList)):
if nameList[x][0] == name:
print(nameList== name)
nameList[1] = nameList[1] + 1
with open("nameList.csv", "w", newline='') as f:
writer = csv.writer(f)
for i in nameList:
writer.writerow(i)
关于如何使它工作的任何想法?非常感谢!
【问题讨论】:
标签: python arrays list loops csv