Skip to main content
 首页 » 编程设计

python之搜索列表列表

2025年05月04日10qlqwjy

我有一个这样的数据列表

data = [['A',11],['A',22],['B',14],['C',23],['C',31],['B',12]] 

我将独特的项目放在另一个列表中,如下所示:

search=[] 
for item in data: 
    if search.count(item[0]) == 0: 
        search.append(item[0]) 
 
# search contains ['A', 'B', 'C'] 

如何使用列表 search 搜索列表 data 并生成类似的输出?

['A', [11,22]] 
['B', [14,12]] 
['C', [23,31]] 

请您参考如下方法:

使用字典:

d = {} 
for k, v in data: 
    d.setdefault(k, []).append(v) 
print d 

打印

{'A': [11, 22], 'C': [23, 31], 'B': [14, 12]} 

您可以使用 d.keys() 获取所有键的列表。

与其构建列表 data,不如从一开始就使用字典更好。

(其他人很快会为此推荐 defaultdict。在这种情况下我更喜欢 dict,但这并不重要。)