我正在进行初学者的设置,并且必须使用以下词典打印句子:
ast = {
"number":6,"message":"success","people":
[{"name":"Sergey Ryazanskiy","craft":"ISS"},{"name":"Randy Bresnik",
"craft":"ISS"}, {"name":"Paolo Nespoli","craft":"ISS"}, {"name" :
"Alexander Misurkin","craft":"ISS"},{"name":"Mark Vande Hei","craft":"ISS"}
,{"name":"Joe Acaba","craft":"ISS"}]}
所以我不得不说:
Sergey Ryanzanskiy
Randy Bresnik
没有要点(抱歉,格式化),我不知道如何引用这些键。此外,我必须创建一个句子,总结可用的不同工艺品的数量,但只有一个,所以我不知道如何创建一些东西来适应不同的名称。
请帮忙!
答案 0 :(得分:1)
在python 3中,使用dictionary.items()返回键值对的迭代器。你可以像这样打印它们。
for key, value in d.items():
print(key, value)
您也可以直接打印出来:
for i in d:
print (i, d[i])
您可以根据需要添加编号和格式
编辑:如上所述,您可以使用列表推导。你可以做点什么
print_list = [(k,v) for k,v in d.items()]
for i in print_list:
print (i, print_list[i]
这将打印键/值元组的编号列表。
答案 1 :(得分:0)
好的,我这样做是为了打印这些名字,但是我现在仍然遇到一个问题,即如果现在只有一个,我们还要弄清楚如何计算不同类型的飞行器。
为ast [“people”]中的人: print(person [“name”],“\ n”,person [“craft”],“\ n”)
答案 2 :(得分:0)
当现在只有一种时,我仍然无法弄清楚如何计算不同类型的飞行器。
l = []
for p in ast['people']:
if p['craft'] not in l:
l.append(p['craft'])
然后这个数字是len(l)
答案 3 :(得分:0)
我做了以下代码。它使用熊猫
import pandas as pd
ast = {
"number":6,"message":"success","people":
[{"name":"Sergey Ryazanskiy","craft":"ISS"},{"name":"Randy Bresnik",
"craft":"ISS"}, {"name":"Paolo Nespoli","craft":"ISS"}, {"name" :
"Alexander Misurkin","craft":"ISS"},{"name":"Mark Vande Hei","craft":"ISS"}
,{"name":"Joe Acaba","craft":"ISS"}
, {"name": "Erick Salas", "craft": "SSI"}]}
my_dataframe = pd.DataFrame(ast['people'])
print('People:')
print(my_dataframe[['name','craft']].to_string())
my_sum = my_dataframe['craft'].value_counts()
print('Count of crafts')
print(my_sum.to_string())
People:
name craft
0 Sergey Ryazanskiy ISS
1 Randy Bresnik ISS
2 Paolo Nespoli ISS
3 Alexander Misurkin ISS
4 Mark Vande Hei ISS
5 Joe Acaba ISS
6 Erick Salas SSI
Count of crafts
ISS 6
SSI 1