Python如何遍历变量存储的多个子列表并合并为单个列表
解决方法
首先你当前的变量x定义语法存在错误:Python中多个列表直接连续书写会被解析为前一个列表的索引取值操作,这就是你只能获取到第一个列表内容的原因。你需要先把所有子列表放到一个外层容器中,修正后的变量定义如下:
x = [ ['eventVersion', '1.08'], ['userIdentity', {'type': 'IAMUser', 'principalId': '', 'accountId': '', 'accessKeyId': '', 'userName': 'test'}], ['eventTime', '2021-09-22T13:49:49Z'], ['eventSource', 'signin.amazonaws.com'] ]
合并为单列表的实现方式
方式1:循环拼接
merged_list = [] for sub in x: # extend方法会将子列表的所有元素追加到结果列表中 merged_list.extend(sub)
方式2:列表推导式(简洁写法)
merged_list = [item for sub_list in x for item in sub_list]
额外优化建议
你给出的子列表都是标准的键值对结构,更推荐直接转换为字典使用,后续取值会更方便:
event_info = dict(x) # 示例取值:获取事件时间 print(event_info['eventTime'])
内容的提问来源于stack exchange,提问作者suppala
相关产品推荐
相关产品推荐

