繁体   English   中英

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

[英]How do I change the value type of a particular key in a dictionary in a list?

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()]

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

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

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

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

这里我调用当前列表list1为了避免变量名和内置类型名的混淆。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM