gpt4 book ai didi

python - 打印 Python 字典中的所有唯一值

转载 作者:IT老高 更新时间:2023-10-28 20:24:15 25 4
gpt4 key购买 nike

我正在努力解决 Python 中的一个小问题(我的程序现在是 3.2.3 版)。

我有一个看起来像这样的字典(这只是一个例子,实际上取自这里的另一篇文章):

[
{"abc": "movies"},
{"abc": "sports"},
{"abc": "music"},
{"xyz": "music"},
{"pqr": "music"},
{"pqr": "movies"},
{"pqr": "sports"},
{"pqr": "news"},
{"pqr": "sports"},
]

我想简单地 print() 一个唯一值列表,消除重复。在此列表的末尾,我想打印字典中唯一值的数量:

movies
sports
music
news

4

感谢任何帮助。我发现这里还有一些其他帖子有些相关,但我对 Python 的了解还不够,无法将其应用于这个特定问题。

最佳答案

在此处使用 set,因为它们仅包含唯一项。

>>> lis = [{"abc":"movies"}, {"abc": "sports"}, {"abc": "music"}, {"xyz": "music"}, {"pqr":"music"}, {"pqr":"movies"},{"pqr":"sports"}, {"pqr":"news"}, {"pqr":"sports"}]
>>> s = set( val for dic in lis for val in dic.values())
>>> s
set(['movies', 'news', 'music', 'sports'])

循环这个集合以获得预期的输出:

for x in s:                                
print x
print len(s) #print the length of set after the for-loop
...
movies
news
music
sports
4

这一行s = set(val for dic in lis for val in dic.values())大致相当于:

s = set()
for dic in lis:
for val in dic.values():
s.add(val)

关于python - 打印 Python 字典中的所有唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17218139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com