簡體   English   中英

列表到行(每第n個數字)

[英]List to row (every nth number)

我有一個數字列表,我希望這個列表水平打印。 每9個元素應在新行上打印

我有列表分裂每九個元素,但我正在努力與它轉置

media_list = new_amount_list
nth_item = 9
str_list = [
    '{}\t\n'.format(m)
    if(((media_list.index(m)+1) % nth_item) == 0)
    else
    '{}\t'.format(m)
    for m in media_list
]
print('\n'.join(str_list))
my_list = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,7,8,9,0]
n = 9
for lst in [my_list[i * n:(i + 1) * n] for i in range((len(my_list) + n - 1) // n )] : 
  print (*lst)

產量

1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8
9 0 1 2 3 4 5 6 7
7 8 9 0

這是一種簡單的方法,而不是專家方法。 import random media_list = random.sample(range(100),99)start_index = 0 increment = 1

for i in media_list :
    if increment%9 ==0:
        print(media_list [start_index:increment])
        start_index=increment
    increment+=1

產量

[50, 68, 67, 5, 32, 72, 12, 96, 24]
[82, 49, 13, 81, 33, 42, 34, 90, 14]
[84, 83, 98, 61, 94, 53, 66, 80, 9]
[47, 55, 45, 73, 4, 28, 38, 71, 74]
[41, 7, 89, 22, 85, 43, 27, 16, 37]
[1, 75, 76, 78, 56, 8, 26, 44, 54]
[58, 46, 57, 31, 11, 97, 70, 64, 10]
[39, 6, 92, 0, 23, 2, 65, 48, 88]
[59, 69, 60, 19, 86, 15, 52, 99, 20]
[62, 25, 35, 91, 40, 30, 36, 3, 77]
[95, 21, 63, 51, 18, 29, 17, 93, 87]

暫無
暫無

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

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