首页 > 解决方案 > (Python) 将列表中的项目转换为列表

问题描述

我想将列表中的项目存储为列表本身(即每个二进制位都将成为新列表中的索引),但我似乎无法做到这一点:

encoded = []
for value in redChannelData:
    encoded1 = bin(value)[2:]
    encoded.append(encoded1)

redchannelbinarylist = [[] for binary in encoded] 

print(redchannelbinarylist)
print(encoded)

输出

['101110', '110001', '110010', '110011', '110101', '110101', '110110', '111000', '111011', '111011', '111100', '111101', '111110', '111110', '1000000', '1000000', '1000001']

我想要这样的东西:

[[1, 0, 1, 1, 1, 0], [1, 1, 0, 0, 0, 1], ...]

标签: python

解决方案


尝试这样做:

[list(map(int, x)) for x in a]

这是发生的事情(从内到外):

  • list(map(int, x))将 '0' 和 '1' 的列表转换为它们的整数等价物的列表。这里list是获取列表而不是map结果。
  • 在外部列表理解中,我对 a 的每个元素执行上述步骤

推荐阅读