第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

遍歷 json 列表并使用 Python 獲取特定的鍵和值

遍歷 json 列表并使用 Python 獲取特定的鍵和值

達令說 2021-10-26 16:24:18
我有一個這樣的 JSON 列表(這是一個 JSON 響應,下面是我做的之后json.loads)[{'status': 'ok', 'slot': None, 'name': 'blah', 'index': 0, 'identify': 'off', 'details': None, 'speed': None, 'temperature': None}, {'status': 'ok', 'slot': None, 'name': 'blah0', 'index': 0, 'identify': 'off', 'details': None, 'speed': None, 'temperature': None}, {'status': 'ok', 'slot': None, 'name': 'blah1', 'index': 1, 'identify': 'off', 'details': None, 'speed': None, 'temperature': None}, {'status': 'ok', 'slot': None, 'name': 'blah2', 'index': 2, 'identify': 'off', 'details': None, 'speed': None, 'temperature': None}, {'status': 'ok', 'slot': None, 'name': 'blah3', 'index': 3,'identify': 'off', 'details': None, 'speed': None, 'temperature': None}]我想這兩個name和status如果列表中,name='blah' or 'blah0' or 'blah1' or 'blah2' or 'blah3' 從本質上講,所有我想要存儲的所有比賽name,并status在不同的變量在其他地方使用它。(可以動態(tài)創(chuàng)建變量或靜態(tài)分配它們也適用于我)我試過這個,但似乎不像我想要的那樣工作。for value in data:   if value['name'] in ['blah', 'blah0', 'blah1', 'blah2', 'blah3']:        print(value['name'], value['status'])這會將name和status作為字符串打印在另一行下方。但我希望將每個名稱和狀態(tài)分配給一個變量,以便我以后可以使用它。任何幫助深表感謝!
查看完整描述

2 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

您并不是真的想要動態(tài)變量,但您可以使用列表推導式。您還應該利用恒定成本集成員資格測試:


keep = set(['blah', 'blah0', 'blah1', 'blah2', 'blah3'])

result = [(value['name'], value['status']) for value in data if value['name'] in keep]

print(result)

輸出:


[('blah', 'ok'),

 ('blah0', 'ok'),

 ('blah1', 'ok'),

 ('blah2', 'ok'),

 ('blah3', 'ok')]

如果你想要一本字典:


keep = set(['blah', 'blah0', 'blah1', 'blah2', 'blah3'])

result = {value['name']: value['status'] for value in data if value['name'] in keep}

print(result)


查看完整回答
反對 回復 2021-10-26
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

編輯 嘗試類似:


new_data = []

# Extract all the data and map them by name and status

for value in data:

    name = value.get("name")

    status = value.get("status")

    if name in ['blah', 'blah0', 'blah1', 'blah2', 'blah3']:

         new_data.append(dict(

            name=name,

            status=status))

選項1


# loop through the new data

for data in new_data:

    print(data)


# OUTPUT:

{'name': 'blah', 'status': 'ok'}

{'name': 'blah0', 'status': 'ok'}

{'name': 'blah1', 'status': 'ok'}

{'name': 'blah2', 'status': 'ok'}

{'name': 'blah3', 'status': 'ok'}

選項 2


for data in new_data:

    for key, value in data.items():

        print(key, value)

#OUTPUT:

name blah

status ok

name blah0

status ok

name blah1

status ok

name blah2

status ok

name blah3

status ok

選項 3


for data in new_data:

        print(data['name'], data['status'])

#OUTPUT

blah ok

blah0 ok

blah1 ok

blah2 ok

blah3 ok


查看完整回答
反對 回復 2021-10-26
  • 2 回答
  • 0 關注
  • 501 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號