python - 将多维列表分配给唯一值的最佳方法
问题描述
将名称和值列表分配给唯一名称列表的最佳方法是什么?或者有没有办法从一开始就忽略唯一值列表?
例如:
list01 = ['John Doe', 'Jane Doe']
list02 = [['John Doe', 'John Doe', 'Jane Doe', 'John Doe', 'Jane Doe'], [10, 20, 30, 40, 50]]
最终结果应如下所示:
list03 = [['John Doe', 'Jane Doe'], [70, 80]]
感谢您的帮助,祝大家有个美好的星期天!
解决方案
我知道您想对每个名称的值求和,您可以尝试这样的事情:
list01 = ['John Doe', 'Jane Doe']
list02 = [['John Doe', 'John Doe', 'Jane Doe', 'John Doe', 'Jane Doe'], [10, 20, 30, 40, 50]]
totals = {name: 0 for name in list01}
for i in range(len(list02[0])):
totals[list02[0][i]] += list02[1][i]
list03 = [list(totals.keys()), list(totals.values())]
或者,您可以尝试使用 python 的列表理解,可能是这样的:
list01 = ['John Doe', 'Jane Doe']
list02 = [['John Doe', 'John Doe', 'Jane Doe', 'John Doe', 'Jane Doe'], [10, 20, 30, 40, 50]]
list03 = [list01[:], [sum([x[1] for x in zip(list02[0], list02[1]) if x[0]==y]) for y in list01]]
推荐阅读
- python - 在 seaborn 箱线图中隐藏未观察到的类别
- flutter - 颤动条纹stripe_payment:类路径
- visual-studio - 不能让 CMake 属性 ADDITIONAL_CLEAN_FILES 删除一个简单的文件
- apache - Is there a way to redirect one directory as a root and its siblings as sub directories only via Apache2.4 mod_rewrite?
- reactjs - 我可以使用 React 中的函数提供上下文值吗?
- angular - 类型错误:this.datasource.getProducts 不是函数
- python - 使用 file.write python 写入文件的额外行
- windows - 在临时目录中创建文件时,“该进程无法访问该文件,因为它正被另一个进程使用”
- json - Angular 10 JSON 值无法转换为 System.Int32,asp.net
- windows - 如何在 Windows 中停止 cygwin 更新 ACL