python - 许多列表的总和

标签 python

如何在下面简化对 x 的赋值(可能使用某种循环)?

a = [(0,0,0), (0,1,1), (1,0,1), (1,1,0)]
b = [0, 2, 1, 1, 2, 2]
x = a[b[0]] + a[b[1]] + a[b[2]] + a[b[3]] + a[b[4]] + a[b[5]]

最佳答案

试试这个,sum 需要第二个参数:

print(sum(map(lambda x: a[x],b),()))

输出:

(0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1)

或者生成器:

print(sum((a[x] for x in b),()))

同时输出:

(0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1)

关于python - 许多列表的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52349497/

相关文章:

python - 嵌入式python模块导入错误

python - 在Python中以最大精度打印十进制数字而不带尾随零的最佳方法

python - 如何在 Python 中清理 url 字符串?

python - 在 while 循环中使用 tqdm 进度条

python - 在有很多记录的表中通过 random() 优化顺序

python - 在字典中绘制嵌套列表 - python

python - 将对象保留在内存中并避免重新加载 pickle

python - 从函数返回列表和整数的最佳方法是什么?

python - 如何知道一个词的具体TF-IDF值?

python - 转换 50 个字符串时 Unhexlify 错误