我从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/