如果我想迭代存储在元组中的字典值.

我需要返回保存"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.
>>> 

Python-3.x相关问答推荐

使用Python装载. iso文件

在numpy. linalg的qr之后使用scipy. integrate中的solve_ivp时出现了一个奇怪的错误

如何创建多个日志(log)文件

Pandas :从元组字典创建数据帧

如何使用regex将电话号码和姓名从文本字符串中分离出来

无法使用xpath关闭selenium中的弹出窗口

tkinter treeview 如何在获取所选项目时将设置的对象作为对象返回

如果集合大于 len(x),则 pandas 在重复的行中拆分集合列

Python:如何在Pandas 的 .agg 函数中使用 value_counts()?

Pandas DataFrame:使用 Pandas 将 NaN 值替换为 3 行以上的平均值

以编程方式映射 uniprot ID 时如何解决 400 客户端错误?

spinbutton调整up/down箭头

UnicodeDecodeError:utf-8编解码器无法解码位置 1 的字节 0x8b:无效的起始字节,同时读取Pandas中的 csv 文件

str.format_map(mapping) 和 str.format 有什么区别

Python图例属性错误

发送Electron邮件时的 MIMEText UTF-8 编码问题

创建集合的 Python 性能比较 - set() 与 {} 文字

Python 3 - Zip 是 pandas 数据框中的迭代器

matplotlib - 模块sip没有属性setapi

Python 无法处理以 0 开头的数字字符串.为什么?