亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

更新列表中字典中值的類型

更新列表中字典中值的類型

慕婉清6462132 2023-07-18 16:52:31
有人能告訴我這個嗎?:我有一個字典列表:[{'overall': 5.0,  'vote': 'overall',  'reviewerID': 'AAP7PPBU72QFM'}, {'overall': 3.0,  'vote': '5',  'reviewerID': 'A2E168DTVGE6SV'},...]如何將“總體”和“投票”項轉換為整數,同時將所有非有效數字設置為 0?更清楚地說,所需的輸出是:[{'overall': 5,  'vote': 0,  'reviewerID': 'AAP7PPBU72QFM'}, {'overall': 3,  'vote': 5,  'reviewerID': 'A2E168DTVGE6SV'},...]非常感激。
查看完整描述

3 回答

?
烙印99

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

另一個解決方案很棒,這是可讀性的另一個解決方案:


list_dicts = [{'overall': 5.0,

  'vote': 'overall',

  'reviewerID': 'AAP7PPBU72QFM'},

 {'overall': 3.0,

  'vote': '5',

  'reviewerID': 'A2E168DTVGE6SV'}]


def fix_key(d, k):

    try:

        d[k] = int(d[k])

    except:

        d[k] = 0


def fix(d):

    fix_key(d, 'vote')

    fix_key(d, 'overall')

    return d


list_dicts = [fix(d) for d in list_dicts]


# [{'overall': 5, 'vote': 0, 'reviewerID': 'AAP7PPBU72QFM'}, {'overall': 3, 'vote': 5, 'reviewerID': 'A2E168DTVGE6SV'}]

print(list_dicts)


查看完整回答
反對 回復 2023-07-18
?
長風秋雁

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

def clean_value(x):

    try:

        return int(x)

    except ValueError:

        return 0


def clean_list_of_dicts(l):

    return [{

        k:v if k not in ('overall', 'vote') else clean_value(v) \

        for k, v in d.items()

    } for d in l]

對您的輸入數據進行的測試表明該解決方案有效。


>>> clean_list_of_dicts([{'overall': 5.0,

  'vote': 'overall',

  'reviewerID': 'AAP7PPBU72QFM'},

 {'overall': 3.0,

  'vote': '5',

  'reviewerID': 'A2E168DTVGE6SV'}

])

給出輸出:


[{'overall': 5,

  'vote': 0,

  'reviewerID': 'AAP7PPBU72QFM'},

 {'overall': 3,

  'vote': 5,

  'reviewerID': 'A2E168DTVGE6SV'}]


查看完整回答
反對 回復 2023-07-18
?
九州編程

TA貢獻1785條經驗 獲得超4個贊

我希望它對你有用,但與函數一起使用會更好

for i in data:
  i['overall'] =int(i['overall'])
  i['vote'] = int(i['vote']) if (i['vote']).isdigit() else 0


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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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