有一组数组:
L = [a, b, c, d, e, ...]
通过 python 的话,要怎么可以把这段数组重新分成每三个元素一个新的组合,就像:
[a, b, c], [d, e, f], [g, h, i] ....
有一组数组:
L = [a, b, c, d, e, ...]
通过 python 的话,要怎么可以把这段数组重新分成每三个元素一个新的组合,就像:
[a, b, c], [d, e, f], [g, h, i] ....
l = [1,2,3,4,5,6,7,8,9]
def split(list):
#空list用于输出
new_l = []
#走循环
for i in range(len(l)):
#把list的前三个值插入空list
new_l.append(l[:3])
#删掉刚刚被插的那三个值
del l[:3]
#如果list空了,就停止循环
if len(l) <= 0:
break
#把结果输出
return new_l
a = split(l)
print(a)
>>> [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
定義函數:
def partition_by_n(lst, n):
groups = []
for idx in range(len(lst)):
if idx%3 == 0:
groups.append(lst[idx:idx+3])
return groups
使用:
>>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> partition_by_n(lst, 3)
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11]]
我回答過的問題: Python-QA
2 回答5.3k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
2 回答973 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决