2 回答

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
你可以這樣做:
from collections import defaultdict as ddict
group = ddict(list)
for name, url in arr:
group[name].append(url)
如果你絕對要它作為一個(gè)列表的列表,你可以再跟進(jìn)這一點(diǎn):
group = [[name, *urls] for name, urls in group.items()]
編輯:這是需要注意的重要的是,上述符合Python 3中,這是什么,你應(yīng)該使用反正工作。然而,為了完整起見,如果你正在使用python 2.7,然后使用此:
group = [[name] + urls for name, urls in group.items()]

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
試試這個(gè):
a = [['name1', 'url1'],
['name1', 'url2'],
['name1', 'url3'],
['name2', 'url1'],
['name2', 'url2'],
['name3', 'url1']]
d = {}
for elem in a:
if elem[0] not in d:
d[elem[0]] = []
d[elem[0]].append(elem[1:])
輸出:
{'name1': [['url1'], ['url2'], ['url3']],
'name2': [['url1'], ['url2']],
'name3': [['url1']]}
添加回答
舉報(bào)