我一直在嘗試從這個元組中提取
E=tuple([random.randint(0,10) for x in range(10)])
假設結果是(3,4,5,0,0,3,4,2,2,4).
我想從這個元組中提取數字串列是升序而不對元組或任何東西進行排序。例子 :[[3,4,5],[0,0,3,4],[2,2,4]]
uj5u.com熱心網友回復:
您可以創建一個自定義函式(在我的示例中為生成器)來對升序元素進行分組:
def get_ascending(itr):
lst = []
for v in itr:
if not lst:
lst = [v]
elif v < lst[-1]:
yield lst
lst = [v]
else:
lst.append(v)
yield lst
E = 3, 4, 5, 0, 0, 3, 4, 2, 2, 4
print(list(get_ascending(E)))
印刷:
[[3, 4, 5], [0, 0, 3, 4], [2, 2, 4]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/530867.html
標籤:Python列表元组
下一篇:從班級串列中獲取內容
