从元组列表中提取不同的值 [英] Extract different values from list of tuples

查看:77
本文介绍了从元组列表中提取不同的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从以下元组列表中提取不同值的列表?

How to extract a list of different values from following list of tuples?

tuple = ((("test", 123), ("test", 465), ("test", 8910), ("test2", 123)))

我想得到一个像这样的列表:

I want to get a list like:

different_values = ("test", "test2")

现在,我想通过此键"访问所有值,并通过列表获取它们:

Now I want to access all values by this "keys" and get them by a list:

test_values = (123, 456, 8910)
test2_values = (123)

该怎么做?

推荐答案

我会将您的数据转换为列表的字典:

I'd transform your data to a dictionary of lists:

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

现在您可以以d.keys()的方式访问键,并且以d[k]的方式访问每个键k的值列表.

Now you can access the keys as d.keys(), and the list of values for each key k as d[k].

(简短地说,有人会向前走,声称defaultdict对此会更好.不要听他们的话,在这种情况下根本没关系.)

(Shortly, someone will step forward and claim a defaultdict would be better for this. Don't listen to them, it simply doesn't matter in this case.)

这篇关于从元组列表中提取不同的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆