qq_38269799
youngkun_FH
2019-06-19 09:32
采纳率: 50%
浏览 3.2k

python字典中键值使用变量?

dict={'1':["TEST1"],
      '2':["TEST2"],
      '3':["TEST3"],

}
i=1

x=dict["%d"] %d i

print(x)

我想使用一个变量去引用键值,结果发现这样操作不可行,请问下有大神知道该怎么解决么

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • CALch
    CALch 2019-06-19 10:38
    已采纳
    dict={'1':["TEST1"],
          '2':["TEST2"],
          '3':["TEST3"],
    
    }
    i=1
    
    x=dict["%d"%i] 
    
    print(x)
    
    

    ['TEST1']

    点赞 2 评论
  • qq_39412061
    吃鸡王者 2019-06-19 11:01

    1:x=dict["%d"] %d i 这个合适不对,你可以x=dict[str(i)] 或x=dict["%d" % i ]
    2:变量名尽量不要和关键字重合,dict是python的关键字,最好换成其他的名字
    3:此单的键值可以是整型,所以你在定义词典的键值的时候直接这样定义:example={1:["TEST1"],2:["TEST2"],3:["TEST3"]},这样在引用是我直接example[i]即可,不用在麻烦的转换类型

    点赞 评论
  • qq_37347705
    小熊之怒 2019-06-19 20:57

    假设变量值为 var 那么需要加 if var in dict.key:

    做一个判断,如果在,就可以访问 dict[var] 否则直接这样访问报错

    点赞 评论
  • qq_23126581
    person = {'name':'xiaoming', 'age':18}
    
    # 第一种 若键不存在则会抛出KeyError异常
    person['name']
    # 第二种 不会抛出异常,不存在则返回None,也可以设置默认返回值
    person.get('name',"xiaoming")
    # 第三种 与第二种类似,区别在于setdefault方法会更新字典
    person.setdefault('name', 'xiaoming')
    
    
    
    按照你的写法就是dict['1']
    
    
    点赞 评论

相关推荐