-2
我写了一个比较列表的循环。如果它找到两个类似的列表,则它总结其中一个字符串并删除第二个列表。有没有办法让它更加正确?用于连接列表中的类似列表的循环
输入列表:
someList = [['abc', 'def', 10, 'ghi'], ['abc', 'def', 50, 'ghi'], ['jkl', 'mno', 20, 'pqr']]
代码:
a = 0
for i in range(len(someList)):
for k in range(len(someList)):
if someList[i] != someList[k]:
if someList[i][0] == someList[k][0]:
if someList[i][1] == someList[k][1]:
if someList[i][4] == someList[k][4]:
someList[i][2] = someList[i][2] + someList[k][2]
someList[k][4] = 'lalala'
a = k
del someList[a]
所需的输出列表:
someList = [['abc', 'def', 60, 'ghi'], ['jkl', 'mno', 20, 'pqr']]
此代码的工作,但我这是非常不好写。此外,如果列表中只有2个相似的子列表,它就可以工作。
读取代码,它遍历相同的列表两次,并将每个元素相互比较?这个列表是二维的吗?目前还不清楚代码试图做什么,可能会显示一个示例输入列表和代码所需的输出。 – danny
@丹尼好吧,我纠正了这个帖子。 –
什么使得子列表“相似”? – zwer