簡體   English   中英

如何在python中添加和顯示隨機生成的列表列表的垂直元素?

[英]How to add and display vertical elements of randomly generated list of lists in python?

下面的簡單代碼將生成一個包含三個元素的列表的列表,以及在同一行中每個列表中的元素總數。

import random
for i in xrange(3):
    my_randoms1 = [random.randrange(1,6,1) for _ in range (3)]
    print my_randoms1,"\t", sum(my_randoms1)

現在的問題是:如何添加所有列表的垂直對應元素,並在所有列表頂部的新列表中將總和顯示為[T1,T2,T3]? 謝謝

[T1,T2,T3]

[1, 1, 2]   4
[5, 3, 4]   12
[5, 1, 5]   11

如果要對這些列表進行其他操作,則可能要將它們存儲在某種數據結構中,可能使用Numpy將它們放在矩陣中。

做最簡單的方法只是這是有某種變量,說col_sums = [0,0,0]你的循環之前進行初始化),並因為它的產生增加每個隨機列表的值。 您可以使用嵌套循環來執行此操作,但是如果您想花哨的話,可以使用類似以下內容的方法:

col_sums = map(sum, zip(col_sums, my_randoms))

zip()接受舊的總和和隨機值,並為您提供一個元組,該元組包含每個粘貼在一起的列表的N個值。 例如,在第一次迭代中,您將具有col_sums = [0,0,0]zip(col_sums, my_randoms)將給您[(0,1), (0,1), (0,2)] 該列表map ping sum為您提供了一個新列表,例如[1, 1, 2] 如果將其放在每個迭代中,最后都會得到一個不錯的總和。

暫無
暫無

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

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