检查Python字典中是否存在变量键

检查Python字典中是否存在变量键,python,dictionary,Python,Dictionary,假设我有一本字典d={'q1':1,'q2':2} 如何在for循环中检查此字典中是否存在一组键?比如: for i in range(0, 1): if 'q'+i in d: print 'Key exists!' 如何替换'q'+I部件,使我的代码有效?基本上,我需要知道如何将字符串与整数连接起来,以将其用作有效的Python表达式进行搜索。您需要将I设置为字符串: if 'q'+str(i) in d: 在Python中,+只能将同一类型的两个东西放在一起(例如

假设我有一本字典
d={'q1':1,'q2':2}

如何在
for
循环中检查此字典中是否存在一组键?比如:

for i in range(0, 1):
    if 'q'+i in d:
       print 'Key exists!'

如何替换
'q'+I
部件,使我的代码有效?基本上,我需要知道如何将字符串与整数连接起来,以将其用作有效的Python表达式进行搜索。

您需要将
I
设置为字符串:

if 'q'+str(i) in d:
在Python中,
+
只能将同一类型的两个东西放在一起(例如,两个字符串、两个整数等)。不能将
'q'
i
放在一起,前者是字符串,后者是从
范围(0,1)
生成的整数

实际上,这可以更有效地完成,如下所示:

if 'q%i' % i in d:

与第一个解决方案不同,此解决方案只创建一个字符串(另一个创建两个字符串,然后将它们与
+
组合在一起)。

您也可以这样做:

if 'q%d'%i in d:
那么:

if 'q{0}'.format(i) in d:
对我来说更优雅:

for key in ['q{}'.format(i) for i in xrange(0, 1)]:
    if key in my_dict:
        print "key exists!"

没有回答您的问题,但您通常需要一个列表,而不是按顺序命名的变量:
d={'q':[1,2]}
@thg435输入来自生成的单选按钮列表,这是它们的格式names@AndreiHorak:尽管如此,您可以在处理之前将其转换为适当的格式-这将大大简化您的工作。
set('q{})。范围(0,1)中i的格式(i))&set(my_dict)
'q%d'(i,)
效率稍高一些,因为它只创建一个字符串(而concationation需要首先从
i
创建一个字符串,然后创建新的组合字符串)。@btoueg-No,这个方法在Python 2.x中也可以使用。他的意思是“新的”,因为最近每个人都开始使用这个方法。