作者:sanyyy | 来源:互联网 | 2022-12-06 18:52
1> Olivier Mela..:
由于您希望根据键对值进行分组,因此可能不是list
您要查找的输出,而是a dict
.这将在以后允许恒定时间查找.
myList = [[26, 'hello'], [26, 'hola'], [26, 'hi'], [26, 'bonjour'],
[27, 'bye'], [27, 'doei'], [27, 'see you'], [27, 'tot ziens']]
myDict = {}
for k, v in myList:
myDict.setdefault(k, []).append(v)
print(myDict)
产量
{26: ['hello', 'hola', 'hi', 'bonjour'], 27: ['bye', 'doei', 'see you', 'tot ziens']}
虽然如果你绝对需要一个列表列表,你可以这样获得它:
# Only valid in Python3, use [k] + v in Python2
listOfLists = [[k, *v] for k, v in myDict.items()]
print(listOfLists)
产量
[[26, 'hello', 'hola', 'hi', 'bonjour'], [27, 'bye', 'doei', 'see you', 'tot ziens']]