python-将整数列表拆分为数字列表

赛尼亚克

我有一个包含8位整数的列表,其中每个整数代表一个标志。例如:

qc = [11221427, 23414732, 144443277,...]

我想创建8个新变量,其中第一个变量是所有数字的第一位,依此类推。例如:

qc1 = [1,2,1]
qc2 = [1,3,4]

我可以使用以下代码进行计算:

qc_str = [str(e) for e in qc]

k,l = 0,0

for item in qc_str:
    qc1[k] = int(qc_str[k][l])
    qc2[k] = int(qc_str[k][l+1])
    qc3[k] = int(qc_str[k][l+2])
    qc4[k] = int(qc_str[k][l+3])
    qc5[k] = int(qc_str[k][l+4])
    qc6[k] = int(qc_str[k][l+5])
    qc7[k] = int(qc_str[k][l+6])
    qc8[k] = int(qc_str[k][l+7])

    k += 1

在100,000行上运行需要大量时间。有没有更好或更快速的方法来做到这一点。任何想法将不胜感激。

pp

这是一种方法:

qc = [11221427, 23414732, 144443277]

lst = [list(map(int, i)) for i in zip(*map(str, qc))]

# [[1, 2, 1],
#  [1, 3, 4],
#  [2, 4, 4],
#  [2, 1, 4],
#  [1, 4, 4],
#  [4, 7, 3],
#  [2, 3, 2],
#  [7, 2, 7]]

如果您确实需要将这些作为单独的变量,请使用lst[idx]或字典{i: j for i, j in enumerate(lst, 1)}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章