[英]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.