将元组组合成表单

use*_*519 1 python tuples python-2.7

data= [('a ', 1), ('b ', 3), ('a ', 4), ('b', 2),]
Run Code Online (Sandbox Code Playgroud)

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

a= [1,4]
b= [3,2]
Run Code Online (Sandbox Code Playgroud)

DSM*_*DSM 6

正如您在上一个问题中所解释的那样,您不应该尝试更改您绑定的名称.[ 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]})
Run Code Online (Sandbox Code Playgroud)

之后

>>> d['a']
[1, 4]
>>> d['b']
[3, 2]
Run Code Online (Sandbox Code Playgroud)

会工作.