首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python:如何只从for循环的输出中提取唯一值

python:如何只从for循环的输出中提取唯一值
EN

Stack Overflow用户
提问于 2022-03-09 23:20:58
回答 2查看 159关注 0票数 -1

我只是在学Python。我有一本字典,里面有一个键,里面有值中的列表。我需要做一个计数的所有独特的价值,从关键的‘工艺’。我做了一个循环,以获得‘工艺’的钥匙,但不知道如何只返回独特的工艺。实际上,想要列出它们,然后对它们进行计数。以下是我到目前为止所拥有的:

代码语言:javascript
运行
复制
import requests 

Data = { } #create the dictionary

response = requests.get("http://api.open-notify.org/astros.json")

Data = response.json()

for i in range(len(Data["people"])):
    print(Data["people"][i]["craft"])

这是输出:

代码语言:javascript
运行
复制
ISS
ISS
ISS
Shenzhou 13
Shenzhou 13
Shenzhou 13
ISS
ISS
ISS
ISS

我想展示的是:

代码语言:javascript
运行
复制
ISS
Shenzhou 13

然后数一数,结果是:2

EN

回答 2

Stack Overflow用户

发布于 2022-03-09 23:27:51

这里有些事情应该解决

代码语言:javascript
运行
复制
response = requests.get("http://api.open-notify.org/astros.json")

data = response.json()

unique_crafts = []
for people in data["people"]: 
    craft = people["craft"]
    if craft not in unique_crafts:
        unique_crafts.append(craft)

print(unique_crafts)
print(len(unique_crafts))
票数 0
EN

Stack Overflow用户

发布于 2022-03-09 23:29:36

把所有的手工艺都放在一套。集合只包含唯一的元素。

代码语言:javascript
运行
复制
crafts = set(person['craft'] for person in Data['people'])
print(*crafts, sep='\n')
print(len(crafts))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71417106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档