首页 > 解决方案 > Python:从字典列表中获取值

问题描述

我有一个这样的字典列表:

    [{'sftp_conn': 'conn_1', 'sftp_path': 'path_1'}, 
     {'sftp_conn': 'conn_2', 'sftp_path': 'path_2'}
    ]

我知道如何从值列表中获取值

我想循环列表中的每个并将值分配给变量

  id =1   sftp_conn = 'conn_1' , sftp_path = 'path_1'

然后下一步

  id=2  sftp_conn = 'conn_2' , sftp_path = 'path_2'

我有一个如下的气流代码,所以我想迭代并将值传递给 sftp_path 和 sftp_conn_id

    for count, sftp in enumerate(sftp_list):
                s3_to_sftp = S3ToSftpOperator(
                    task_id=f's3_to_sftp_{count}',
                    sftp_path=  ,
                    sftp_conn_id= ,
                    s3_conn_id=S3_CONN_ID,
                )

标签: python-3.xlistdictionary

解决方案


您只需要在传递时枚举列表start=1即可从 1 而不是 0 开始计数。如果这不是您的意思,请告诉我。

li = [{'sftp_conn': 'conn_1', 'sftp_path': 'path_1'},{'sftp_conn': 'conn_2', 'sftp_path': 'path_2'}]

for item in enumerate(li, start=1):
    taskID, sftp_conn, sftp_path = item[0], item[1]['sftp_conn'], item[1]['sftp_path']
    #print(taskID, sftp_conn, sftp_path)

当取消注释该打印行时,这将是上述列表的输出:

1 conn_1 path_1
2 conn_2 path_2

推荐阅读