list - 我有两个清单。list1 作为键,list2 作为值。如何将值列表附加到 list1 中的相同键?
问题描述
list1 = [A,A,A,B,B,B,C,C,C] list2 = [1,2,3,4,5,6,7,8,9]
预期输出:{A:[1,2,3],B:[4,5,6],C:[7,8,9]}
这就是我想做的。但是,当我附加不同的值列表时,我陷入了困境。这是我的代码:
g = []
for i in range(len(list1)-1):
if list1[i] == list1[i+1]:
g.append(list2[i+1])
else:
continue
print(g)
输出为:[1,2,3,5,6,8,9]。我该怎么做才能获得单独的列表为[1,2,3],[4,5,6],[7,8,9]?
解决方案
使用字典在下面试试这个:
list1 = ['A','A','A','B','B','B','C','C','C']
list2 = [1,2,3,4,5,6,7,8,9]
output = {}
for i in range(len(list1)):
if list1[i] not in output:
output[list1[i]] = [list2[i]]
else:
output[list1[i]].append(list2[i])
print(output)
推荐阅读
- authentication - 使用 CloudFormation 在机器启动期间添加用户
- deployment - UWP:AppPackages 中的文件夹与包系列名称不同
- apache-kafka - 消费者“group_name”组正在永远重新平衡
- oracle - Oracle 使用拒绝无限条款
- swift - 可跨越的日期
- javascript - 使用危险的SetInnerHtml时无法在反应nextjs中显示图像
- c# - 将 C# 转换为 VB.Net 以获取 Salesforce REST 调用示例
- c# - 连接字符串 ASP.NET
- jmeter - 如何在 MQTT 请求中使用来自 JSR223 的变量
- php - laravel sql查询if和if条件