好的,所以我想做点什么:
if title and articleNumber in listOfData:
listOfData[articleNumber].update(title, articleNumber, None, oldvariants + variants)
else:
listOfData.append((title, articleNumber, None, variants))
我意识到语法不正确,但由于我不知道自己想做什么,我将其描述为我想要使用的语法:)文章编号是一个大整数(我不知道)知道它是否可以从0开始
请注意,我不想使用字典,因为listOfData应该与代码的其他部分格式相同。 (这很不幸,因为我正在解析的文章在某些情况下分成几行,如果它已经在列表中,我需要进行此检查)
答案 0 :(得分:2)
您无法根据其定义更新元组。它一成不变。但是你可以完全替换它。
if title and articleNumber in listOfData:
listOfData[articleNumber] = (title, articleNumber, None, oldvariants + variants)
else:
listOfData.append((title, articleNumber, None, variants))
update
是一个添加条目的字典方法,这让我觉得你可能试图让一个条目包含多个元组的数据列表。如果是这种情况,您将需要一种不同的方法。
答案 1 :(得分:0)
有什么问题
listOfData[articleNumber] = (title, articleNumber, None, oldvariants + variants)
答案 2 :(得分:0)
我认为你的意思是
if title == listOfData[articleNumber][0]:
oldvariants=lisOfData[articleNumber][3]
listOfData[articleNumber]=(title, articleNumber, None, oldvariants + variants)
else:
listOfData.append((title, articleNumber, None, variants))
修改强>
纠正if
中的错误答案 3 :(得分:0)
我最后做的就像一个字典,键是一个元组(articleNumber,title)
if (articleNumber,title) in dictionaryContent:
dictionaryContent[(articleNumber,title)] += variants
else:
dictionaryContent[(articleNumber,title)] = variants
然后将其转换为列表:
for (articleNumber, title) in dictionaryContent.keys():
listOfData.append((title, articleNumber, None, dictionaryContent[item]))