簡體   English   中英

如何將 n 大小的列表拆分為最多 2 個項目的較小列表?

[英]How to split an n-size list into smaller lists of maximum 2 items?

如何將 n 大小的列表拆分為最多 2 個項目的較小列表? 但總是從第二個列表開始,如果它存在包含上一個列表最后一項作為第一項。 該列表可以是任意長度。 例子:

n = [1, 2, 3, 4, 5, 6, 7]

結果:

"n+1" = [1, 2]
"n+2" = [2, 3]
"n+3" = [3, 4]
"n+4" = [4, 5]
"n+5" = [5, 6]
"n+6" = [6, 7]

我相信這就是您正在尋找的:

n = [1, 2, 3, 4, 5, 6, 7]

[[i, j] for i, j in zip(n[1:], n[2:])]

Output:

[[2, 3], [3, 4], [4, 5], [5, 6], [6, 7]]

這里有一個方法:

n = [1, 2, 3, 4, 5, 6, 7]
n = [[i, j] for i, j in zip(n, n[1:])][1:]
print(n)

Output:

[[2, 3], [3, 4], [4, 5], [5, 6], [6, 7]]

講話:

但總是從第二個列表開始,如果它存在包含上一個列表最后一項作為第一項。

您可以使用if語句:

n = [1, 2]

if len(n) > 2:
    n = [[i, j] for i, j in zip(n, n[1:])][1:]
else:
    n = [n]
    
print(n)

Output:

[[1, 2]]

使用 n 大小集合的最大 s 個元素(其中 s <n)< div><div id="text_translate"><p> 我知道如何使用 itertools 獲得所有可能的替換組合,但我想通過使用較大集合中有限數量的元素來限制替換組合的數量。</p><p> 舉個例子,我有一套</p><p>[0,1,2]</p><p> 我想獲得帶有替換的k組合(k = 4),但使用一組[0,1,2]中最多2個不同的元素</p><p>所以可以出現在每個組合中的元素集是:</p><pre> [0,1], [1,2], [0,2].</pre><p> 在這里,我也想避免重復組合,所以在這個例子中[0,0,0,0],[1,1,1,1]或[2,2,2,2]不應該重復。</p><p> 此示例的 output:</p><pre> [0,0,0,0] [0,0,0,1] [0,0,1,1] [0,1,1,1] [1,1,1,1] [1,1,1,2] [1,1,2,2] [1,2,2,2] [2,2,2,2] [0,0,0,2] [0,0,2,2] [0,2,2,2]</pre><p> 我希望我很清楚。 </p></div></n)<>

[英]Generate k-combinations with replacement of n-size set using maximum s-number of elements of n-size set (where s<n)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 Python:列表理解可從隨機大小的字符串列表中創建最大n個大小的列表字符串 Python:如何獲取字符串中連續的n個大小的片段? 如何將列表拆分為較小的列表python 使用 n 大小集合的最大 s 個元素(其中 s <n)< div><div id="text_translate"><p> 我知道如何使用 itertools 獲得所有可能的替換組合,但我想通過使用較大集合中有限數量的元素來限制替換組合的數量。</p><p> 舉個例子,我有一套</p><p>[0,1,2]</p><p> 我想獲得帶有替換的k組合(k = 4),但使用一組[0,1,2]中最多2個不同的元素</p><p>所以可以出現在每個組合中的元素集是:</p><pre> [0,1], [1,2], [0,2].</pre><p> 在這里,我也想避免重復組合,所以在這個例子中[0,0,0,0],[1,1,1,1]或[2,2,2,2]不應該重復。</p><p> 此示例的 output:</p><pre> [0,0,0,0] [0,0,0,1] [0,0,1,1] [0,1,1,1] [1,1,1,1] [1,1,1,2] [1,1,2,2] [1,2,2,2] [2,2,2,2] [0,0,0,2] [0,0,2,2] [0,2,2,2]</pre><p> 我希望我很清楚。 </p></div></n)<> 如何將列表分成較小的列表? 如何將字符串中的坐標拆分為較小列表的列表 將列表拆分為較小的列表(分成兩半) 將未知大小列表的列表拆分為n個數字的數據框。 列數 如何將現有列表拆分為更小的單獨列表(不使用“groupby”)? 使用列表拆分列表以獲得更小的列表
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM