Python for循环,打印相同的项目一次

标签 python for-loop

我从url解析json数据,然后用for循环打印我想要的项目。

import urllib.request
import json
response = urllib.request.urlopen('http://jsonurl.com')
content = response.read()
jdata = json.loads(content.decode('utf8'))
jdata2 = jdata['available_channels']
for values in jdata2.values():
    live = values['live']
    category = values['category_name']
    if "1" in live:
      print(category)

事情是,如果多个项目具有相同的类别,那么它会多次打印它们。

例如

Drama Crime Drama Drama Drama Comedy Action Comedy

我希望它只打印一次具有相同类别的项目:

Drama,Crime,Comedy,Action

我怎样才能做到这一点?

最佳答案

您可以使用集合来跟踪已打印的元素。示例-

jdata2 = jdata['available_channels']
seen_set = set()
for values in jdata2.values():
    live = values['live']
    category = values['category_name']
    if "1" in live and category not in seen_set:
      print(category)
      seen_set.add(category)

关于Python for循环,打印相同的项目一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32695326/

相关文章:

C# do while循环开始停止

python - 根据第二个列表中的元素对列表进行排序和过滤

python - 使用 DictReader 从 CSV 文件读取到列表中

python - Matplotlib 交互式事件循环

javascript - 使用 Javascript For 循环更改像素颜色

vba - 压缩大量(不切实际的)基于循环的 VBA 代码;嵌套 For...Next 循环

python - 如何将两个列表相乘并将其和存储在二维数组中?

python - 在 Python 中旋转字符串

javascript - "for ... in"循环 JavaScript - 它是否包含符号属性

javascript - 如何在 JavaScript 中动态获取对象的属性值?