说我有一本字典d = {'q1': 1, 'q2': 2}
如何在for
循环中检查此词典中是否存在一组键?类似的东西:
for i in range(0, 1):
if 'q'+i in d:
print 'Key exists!'
如何替换'q'+i
部分以使我的代码有效?基本上我需要知道如何将字符串与整数连接起来,以将其用作要搜索的有效Python表达式。
答案 0 :(得分:7)
您需要将i
设为字符串:
if 'q'+str(i) in d:
在Python中,+
只能将两个相同类型的东西放在一起(例如两个字符串,两个整数等)。您不能将'q'
({1}}和i
放在一起,range(0, 1)
是从if 'q%i' % i in d:
生成的整数。
实际上,这可以更有效地完成:
+
与第一个解决方案不同,这个解决方案只创建一个字符串(另一个产生两个字符串,然后将它们与{{1}}放在一起)。
答案 1 :(得分:7)
怎么样:
if 'q{0}'.format(i) in d:
答案 2 :(得分:2)
您也可以这样做:
if 'q%d'%i in d:
答案 3 :(得分:2)
对我来说更优雅:
for key in ['q{}'.format(i) for i in xrange(0, 1)]:
if key in my_dict:
print "key exists!"