Skip to main content
 首页 » 编程设计

python之组合元组以形成列表

2025年05月04日14lyj

data= [('a ', 1), ('b ', 3), ('a ', 4), ('b', 2),] 

如何得到两个列表,其中元组的第一个元素作为列表名称,第二个元素作为值?

a= [1,4] 
b= [3,2] 

请您参考如下方法:

正如您在上一个问题中所解释的那样,您不应该尝试更改要绑定(bind)某些内容的名称。 [something = 3 的左侧,我是说。]它只会带来麻烦。您可以改用 dict,defaultdict 会让事情变得方便:

>>> data= [('a ', 1), ('b ', 3), ('a ', 4), ('b', 2),] 
>>> from collections import defaultdict 
>>> d = defaultdict(list) 
>>> for k, v in data: 
...     d[k.strip()].append(v) 
...      
>>> d 
defaultdict(<type 'list'>, {'a': [1, 4], 'b': [3, 2]}) 

之后

>>> d['a'] 
[1, 4] 
>>> d['b'] 
[3, 2] 

会起作用。