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

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

在列表中提取字典的值

在列表中提取字典的值

吃雞游戲 2022-07-12 15:57:51
據(jù)我了解,我在列表中有以下字典:[{'week': 3, 'timing': '07:30'}, {'week': 4, 'timing': '20:30'},{},....]我想提取時間和星期并將它們放在單獨的列表中。但是,由于外面有一個列表,因此無法識別密鑰。我試圖做的是以下內容:for item in list:     new_list =list( item.values() )[0]但它顯示了一個錯誤,因為我認為其中一些是空白的。目前,我收到錯誤:IndexError: list index out of range。如何將它們提取到兩個單獨的列表并在它們?yōu)榭瞻椎牡胤接幸粋€ NaN?
查看完整描述

3 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

您首先創(chuàng)建兩個列表并附加項目。應該對列表中的每個對象進行迭代,每個對象都是字典本身。假設包含字典的列表被稱為full_list,因為命名它對listpython 來說不太方便。


week_list = []

timing_list = []


for i in full_list:

   week_list.append(i['week'])

   timing_list.append(i['timing'])

如果有空值的字典,或者空字典,或者只有week但沒有timing的字典,例如,我喜歡使用:


import numpy as np

for i in full_list:

    try:

       week_list.append(i['week'])

    except KeyError:

       week_list.append(np.nan)

    try:

       timing_list.append(i['timing'])

    except KeyError:

        timing_list.append(np.nan)

這樣NaN,只要鍵不存在,您就會在列表中附加一個值,如果您稍后對列表執(zhí)行操作,這將很有幫助。


完整示例:


full_list = [{'week': 3, 'timing': '07:30'}, {'week': 4, 'timing': '20:30'},{},{'week':4},{'timing':'09:21'},{}]

week_list = []

timing_list = []

import numpy as np

for i in full_list:

    try:

       week_list.append(i['week'])

    except KeyError:

       week_list.append(np.nan)

    try:

       timing_list.append(i['timing'])

    except KeyError:

        timing_list.append(np.nan)

print(week_list)

print(timing_list)

輸出:


[3, 4, nan, 4, nan, nan]

['07:30', '20:30', nan, nan, '09:21', nan]

編輯:

如果字典是這樣的:


full_dict = {'person_1':{'week': 3, 'timing': '07:30'},'person_2':{'week': 4, 'timing': '20:30'},'person_3':{}}

迭代應該按 each 進行key。因此循環(huán)將是:


for i in full_dict.keys():

    and exactly the same code as before


查看完整回答
反對 回復 2022-07-12
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

我使用此代碼分別提取它們。


weeks = [ a['week'] for a in new_list ]


timings = [ a['timing'] for a in new_list ]


查看完整回答
反對 回復 2022-07-12
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

以下代碼將幫助分別提取周和時間值


check = [{'week': 3, 'timing': '07:30'}, {'week': 4, 'timing': '20:30'}]

week_list = []

timing_list=[]

for i in check:

    for k,v in i.items():

        if k == 'week':

            week_list.append(v)

        else:

            timing_list.append(v)



Output

```[3, 4]

['07:30', '20:30']


查看完整回答
反對 回復 2022-07-12
  • 3 回答
  • 0 關注
  • 206 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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