如何从以下元组列表中提取不同值的列表?
tuple = ((("test", 123), ("test", 465), ("test", 8910), ("test2", 123)))
我希望得到一个列表:
different_values = ("test", "test2")
现在我想通过这个“密钥”访问所有值并通过列表获取它们:
test_values = (123, 456, 8910)
test2_values = (123)
怎么做?
答案 0 :(得分:11)
我会将您的数据转换为列表字典:
d = {}
for k, v in tuples:
d.setdefault(k, []).append(v)
现在,您可以将d.keys()
作为密钥访问,将每个密钥k
的值列表作为d[k]
。
(很快,有人会前进并声称defaultdict
会更好。不要听他们,在这种情况下无关紧要。)