我有一个数组的数组,格式如下:
x = [["Username1","id3"],
["Username1", "id4"],
["Username1", "id4"],
["Username3", "id3"]]
我想按 id 分组并显示所有唯一的用户名 我如何获得如下输出:
id3: Username1, Username3
id4: Username1
编辑:能够按第二列分组,但我不能只显示唯一值。这是我的代码:
data={}
for key, group in groupby(sorted(x), key=lambda x: x[1]):
data[key]=[v[0] for v in group]
print(data)
最佳答案
使用 dict
通过 id 和 pythons sets 创建唯一键存储值(因此您将只存储该键的唯一名称):
items = [
["Username1","id3"],
["Username1", "id4"],
["Username1", "id4"],
["Username3", "id3"]
]
data = {}
for item in items:
if data.has_key(item[1]):
data[item[1]].add(item[0])
else:
data[item[1]] = set([item[0]])
print(data)
关于Python 按列对数组进行分组并显示唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276162/