这个repo 用来记录一些python技巧、书籍、学习链接等,欢迎star
github地址
有时候我们需要从dict (或者json)中取出指定key值对应的value ,当然可以逐个去取,那么,可不可以一次性取呢,回答当然是Yes, 如下:
# 随意构造一个dict In [102]: from string import ascii_lowercase, ascii_uppercase In [103]: d = list(zip(ascii_lowercase[:10], ascii_uppercase[-10:])) In [104]: d Out[104]: [('a', 'Q'), ('b', 'R'), ('c', 'S'), ('d', 'T'), ('e', 'U'), ('f', 'V'), ('g', 'W'), ('h', 'X'), ('i', 'Y'), ('j', 'Z')] In [105]: d = dict(d) In [106]: d Out[106]: {
'a': 'Q', 'b': 'R', 'c': 'S', 'd': 'T', 'e': 'U', 'f': 'V', 'g': 'W', 'h': 'X', 'i': 'Y', 'j': 'Z'} #正常按key取值 In [107]: value1 = d['a'] ...: value2 = d['b'] ...: value3 = d['j'] ...: In [108]: value1, value2, value3 Out[108]: ('Q', 'R', 'Z') #当然如果不确定key是否存在,可以用下面的方式 In [109]: value1 = d.get('a', -1000) ...: value2 = d.get('no', -1000) ...: value3 = d.get('h') ...: In [110]: value1, value2, value3 Out[110]: ('Q', -1000, 'X') # 一次性取出指定一组key对应的value In [111]: from operator import itemgetter In [112]: keys = ['a', 'b', 'j'] ...: itemgetter(*keys)(d) ...: Out[112]: ('Q', 'R', 'Z')
讯享网
其实,如果只是取出一个key 对应的 value ,当然直接取就是,如果取出一组,则考虑使用itemgetter ,毕竟更方便不是~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/48778.html