使用兩個不同的串列A并B嘗試創建新串列,如下所示:
新串列的總數等于 list 中的元素總數
B。每個新列都包含將串列中的
A元素與串列中的元素相乘而產生的專案B
A = [1, 2, 3, 4, 5]
B = [3, 4, 7] # list B has 3 elements, therefore 3 new lists are required
串列如下所示:
new_list1 = [3, 6, 9, 12, 15]
new_list2 = [4, 8, 12, 16, 20]
new_list3 = [7, 14, 21, 28, 35]
通過以下回圈,我看到我回傳了正確的值,但不能像上面那樣分組到串列/字典中。
list_dict = {}
for j in B:
for k in A:
list_dict = k * j
print(list_dict)
uj5u.com熱心網友回復:
花式單線:
C = [list(map(lambda x: x * b, A)) for b in B]
轉換為回圈:
C = []
for b in B:
new_list = []
for a in A:
new_list.append(b * a)
C.append(new_list)
輸出:
[
[3, 6, 9, 12, 15],
[4, 8, 12, 16, 20],
[7, 14, 21, 28, 35]
]
uj5u.com熱心網友回復:
在您的代碼中,您需要將結果存盤到串列中并將該串列存盤到字典中:
list_dict = {}
for j in B:
list_ = []
for k in A:
list_.append(k * j)
list_dict[j] = list_
輸出:
{3: [3, 6, 9, 12, 15], 4: [4, 8, 12, 16, 20], 7: [7, 14, 21, 28, 35]}
或者您可以使用嵌套串列推導:
new_list1, new_list2, new_list3 = [[a*b for a in A] for b in B]
uj5u.com熱心網友回復:
A = [1, 2, 3, 4, 5]
B = [3, 4, 7]
for i in B:
list=[]
for j in A:
list.append(i*j)
print(list)
output:-
[3, 6, 9, 12, 15]
[4, 8, 12, 16, 20]
[7, 14, 21, 28, 35]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/427744.html
