(Python)将列表中的项目转换为列表

时间:2018-08-27 08:36:07

标签: 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], ...]

2 个答案:

答案 0 :(得分:7)

尝试这样做:

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

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

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

答案 1 :(得分:0)

尝试这样做:

a = ['101110', '110001', '110010', '110011', '110101', '110101', '110110',...]
result = []
for i in range(len(a)):
    ls = []
    for k in range(len(a[i])):
        ls.append(a[i][k])
    result.append(ls)

print(result)

此方法稍长一些,但是逻辑很容易理解。

相关问题