python - 如何从列表中获取二维列表但在另一个列表中定义形状

标签 python python-3.x list

例如我有这样的列表:

a = [143, 146, 152, 235, 246, 468, 476, 607, 615, 707, 712]

我想以这种形式将其更改为二维 list:

b = [
    [143, 146, 152],
    [235, 246],
    [468, 476],
    [607, 615],
    [707, 712]
]

或:

"143 146 152 
235 246
468 476
607 615
707 712" 

但来自列表,形状为= [3, 2, 2, 2, 2]

如何实现这一点? 我有这样的东西:

devu = ''
for i in b:
    for j in range(i):
        devu += str(b[j])

devu += ' '
print(devu)

但是得到的结果是:

143146152 143146 143146 143146 143146 

最佳答案

如果您正在使用数据科学堆栈(例如 pandas)

>>> pd.Series(a).groupby(np.repeat(np.arange(len(s)),s)).agg(list).tolist()

[[143, 146, 152], [235, 246], [468, 476], [607, 615], [707, 712]]

关于python - 如何从列表中获取二维列表但在另一个列表中定义形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56077676/

相关文章:

python - 如何在 Python 中编写要归档的 float 列表列表

python - 检查字符串的第一个字母是否为大写

json - python 从 json 中提取特定的键和值不起作用

python - 多个资源同步阻塞

java - 如何连接两个字符串类型列表以形成列表类型的对象?

list - flutter/Dart : How to get list value where key equals

python - 将两个文件中的数字相加(逐行)

python - 需要有关 python 中排序功能的帮助

python - 如何在 Python 中将 while True 更改为 while False?

python - 如何在 python 中仅展平列表列表的第二级(稍后将其变成字典)?