如果我想迭代存储在元组中的字典值.
我需要返回保存"CI"值的对象,我假设我需要某种for循环:
z = {'x':(123,SE,2,1),'z':(124,CI,1,1)}
for i, k in db.z:
for k in db.z[i]:
if k == 'CI':
return db.z[k]
我可能在这里遗漏了一些东西,一个参考点就好了.
如果有一个更快的方法,这将大大有帮助
如果我想迭代存储在元组中的字典值.
我需要返回保存"CI"值的对象,我假设我需要某种for循环:
z = {'x':(123,SE,2,1),'z':(124,CI,1,1)}
for i, k in db.z:
for k in db.z[i]:
if k == 'CI':
return db.z[k]
我可能在这里遗漏了一些东西,一个参考点就好了.
如果有一个更快的方法,这将大大有帮助
z = {'x':(123,"SE",2,1),'q':(124,"CI",1,1)}
for i in z.keys(): #reaching the keys of dict
for x in z[i]: #reaching every element in tuples
if x=="CI": #if match found..
print ("{} holding {}.".format(i,x)) #printing it..
这可能会解决你的问题.
输出:
>>>
q holding CI.
>>>
编辑您的 comments :
def func(*args):
mylist=[]
z = {'x':(123,"SE",2,1),'q':(124,"CI",1,1)}
for x,y in z.items():
for t in args:
if t in y:
mylist.append(x)
return mylist
print (func(1,"CI"))
输出:
>>>
['q', 'q', 'x']
>>>
希望这是您想要的,否则第一种方法已经在打印所有密钥,示例输出:
if x==1 or x=="CI":
>>>
x holding 1.
q holding CI.
q holding 1.
q holding 1.
>>>