簡體   English   中英

給定基於列的打印范圍的二維列表

[英]Given a 2D list of print range based on column

我目前有一個二維列表。 該列表將始終為 2 行,但它可以是多列

idx = [[0,4],[2, 6]] or idx = [[0,4,2,7],[2,6,5,10]]

我需要根據列生成一個范圍。

例如,在第一列idx[0]上,它應該生成0,1,2 ,第二列idx[1]應該生成4,5,6 ,依此類推。

這是我的列表idx = [1,2]的代碼,但我不知道如何為 2d 列表執行此操作。

    for i in range(len(idx)):
        for j in range(idx[i]):
            print(j)

由於您需要一種方法來配對每行中的相應數字,因此在此處使用zip是一個好主意。

idx = [[0, 4, 2, 7], [2, 6, 5, 10]]
for lower, upper in zip(*idx):
    print(list(range(lower, upper + 1))) # upper limit inclusive
    # or create an output list and append to it

來自 Python help文本,

zip object 產生 n 長度的元組,其中 n 是作為位置 arguments 傳遞給 zip() 的可迭代的數量。 每個元組中的第 i 個元素來自 zip() 的第 i 個可迭代參數。 這一直持續到最短的參數用完為止。

您可以通過在任何 Python 解釋器中鍵入help(zip)來找到有關zip的更多信息。

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM