如何更改列表中字典中特定键的值类型?

2024-05-16 10:07:26 发布

您现在位置:Python中文网/ 问答频道 /正文

list = [
   {'rank': '1', 'name': 'Gus’s World Famous Fried Chicken', 'stars': '4.0', 'numrevs': '549', 'price': '$$'}, 
   {'rank': '2', 'name': 'South City Kitchen - Midtown', 'stars': '4.5', 'numrevs': '1777', 'price': '$$'}
]

我需要将numrevs更新为int

到目前为止,我有这个,但我无法让它工作:

list = [dt.update({k : int(v)}) for dt in rankings for k['numrevs'], v in dt.items()]

Tags: nameinforworlddtpricelistint
2条回答

对于列表中的每个dict,创建一个新dict,其中每个键的值与当前dict相同,但要用int替换的值除外

这里我调用当前列表list1,以避免变量名和内置类型名之间的混淆

list2 = [ {k:(int(v) if k=='numrevs' else v) 
          for k,v in d.items()}
            for d in list1 ]

基本上,你可以很容易地做到这一点:

for d in mylist:
    d["numrevs"] = int(d["numrevs"])

备注:不要命名任何变量listlist是一个内置函数,覆盖此函数只会导致问题,因此我将列表重命名为mylist

相关问题 更多 >