我是 Python 新手,需要以下幫助。我確實有一個串列a = [range(1, 50, 10)]
和另一個串列b = [2, 4, 5, 8, 12, 34]
現在,我有一個計算某些東西的函式,我們稱之為“SomeFunction”,它接受兩個引數。我想將串列 a 中的元素傳遞給這個 SomeFunction串列b的每個元素。所以,我想要以下值: SomeFunction(1, 2), SomeFunction(1, 4), SomeFunction(1, 5), ..... SomeFunction(50, 2), SomeFunction(50, 4), SomeFunction(50 , 5) 等。
我認為應該用 for 回圈以某種方式完成,但我不知道如何......
uj5u.com熱心網友回復:
你需要一個嵌套for回圈:
a = range(1, 50, 10)
b = [2, 4, 5, 8, 12, 34]
for aval in a:
for bval in b:
print(aval, bval) # or any other function call
這只是遍歷 中b的每個值的所有值a。(請注意,您不想像range問題中那樣在方括號內,我洗掉了這些)。
更高級的版本:“所有值對”也稱為笛卡爾積,由itertools模塊提供。因此你可以寫
from itertools import product
for aval, bval in product(a, b):
print(aval, bval)
uj5u.com熱心網友回復:
試試這個:
a = range(1, 50, 10)
b = [2, 4, 5, 8, 12, 34]
for i in a:
for n in b:
print(SomeFunction(i, n))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/466039.html
上一篇:插入值串列代替串列中的值
