我必須列出一個串列的元素。我有串列:
n=[1,2,3,4,5,6]
我想創建:
n=[[1],[2],[3],[4],[5],[6]]
n=[[1,2],[3,4],[5,6]]
n=[[1,2,3],[4,5,6]]
我可以使用 map(list,n) 做第一個,但其他的呢?另外,如果我想為每對元素創建一個串列,例如:
n=[[1,2] [2,3] [3,4] [4,5] [5,6]]
我怎樣才能做到這一點?
uj5u.com熱心網友回復:
>>> s = [1,2,3,4,5,6]
>>> s1 = [[each] for each in s]
>>> s1
[[1], [2], [3], [4], [5], [6]]
>>> s2 = [[each,each 1] for each in s[:2:]]
>>> s2
[[1, 2], [2, 3]]
>>> s2 = [[each,each 1] for each in s[::2]]
>>> s2
[[1, 2], [3, 4], [5, 6]]
>>> s2 = [[each, each 1, each 2] for each in s[::3]]
>>> s2
[[1, 2, 3], [4, 5, 6]]
>>>
uj5u.com熱心網友回復:
您可以使用一些串列理解、迭代和壓縮技巧來使用 chunkify 方法:
def chunkify(l, size):
it = iter(l)
return [list(e) for e in zip(*[it for _ in range(size)])]
例子:
n=[1,2,3,4,5,6]
for size in range(1, 4):
print(chunkify(n, size))
輸出:
[[1], [2], [3], [4], [5], [6]]
[[1, 2], [3, 4], [5, 6]]
[[1, 2, 3], [4, 5, 6]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/388307.html
下一篇:如何確定串列中元素的負索引?
