l = [['a','b',1], ['a','c',2], ['a','b',3], ['a','c',4], ['a','b',5]]
L = []
for i in range (len(l)):
flag = True
for j in range(len(L)):
if L[j][:-1] == l[i][:-1]:
flag = False
z=j
break
if flag == True:
L.append(l[i])
else:
L[z][-1] = L[z][-1] + l[i][-1]
print('l: ')
print(l)
print('L: ')
print(L)
输出为:
l:
[['a', 'b', 1], ['a', 'c', 2], ['a', 'b', 3], ['a', 'c', 4], ['a', 'b', 5]]
L:
[['a', 'b', 1]]
l:
[['a', 'b', 1], ['a', 'c', 2], ['a', 'b', 3], ['a', 'c', 4], ['a', 'b', 5]]
L:
[['a', 'b', 1], ['a', 'c', 2]]
l:
[['a', 'b', 4], ['a', 'c', 2], ['a', 'b', 3], ['a', 'c', 4], ['a', 'b', 5]]
L:
[['a', 'b', 4], ['a', 'c', 2]]
l:
[['a', 'b', 4], ['a', 'c', 6], ['a', 'b', 3], ['a', 'c', 4], ['a', 'b', 5]]
L:
[['a', 'b', 4], ['a', 'c', 6]]
l:
[['a', 'b', 9], ['a', 'c', 6], ['a', 'b', 3], ['a', 'c', 4], ['a', 'b', 5]]
L:
[['a', 'b', 9], ['a', 'c', 6]]
我想实现的是,把子列表中前两个字符相同的合并,最后一位的值相加,放到新列表中
但是我没有给l赋值,为什么l列表里的值也变了呢