a = [1,2,3]
b = [4,5,6]
Run Code Online (Sandbox Code Playgroud)
我希望输出是 [5,7,9]
可以在纯 Python 3 中实现此目的的最简单语法是什么?
所以我试图定义一个函数,给定两个相同大小的列表,返回一个新列表,其中包含给定索引处每个元素的乘积。
a = [1, 2, 3]
b = [1, 4, 5]
def list_mult(a, b):
if len(a) != len(b):
print("error, lists must be the same size")
for i in range(len(a)):
return [a[i] * b[i]]
print(list_mult(a, b))
Run Code Online (Sandbox Code Playgroud)
代码正在运行,但仅返回 [1]。不知道为什么,因为我的印象是这个 for 循环会迭代范围内的所有 i 。
前言:按元素添加2个列表?
我想写代码以具有以下行为:
[ 1, 1, ["Alpha"]]
+
[ 2, 2, ["Beta"] ]
|| || ||
\/ \/ \/
[3, 3, ["Alpha", "Beta"]]
Run Code Online (Sandbox Code Playgroud)
在python中.这可能没有非常混乱的理解和映射吗?
编辑:我想我更需要的答案是一个可以按组件添加并且无论类型如何都可以运行的答案.出于此目的,使用__CODE__是@COLDSPEED最初声明的最佳答案.
我正在尝试创建一个新列表,执行两个 python 列表的逐元素子结构,如下所示:
from operator import add
number_villains_players = 0
villain_strength = []
player_strength = []
resulten_strength = []
def get_villain_strength(size):
villain_strength = [int(x) for x in input("Enter {} numbers of space separated strength of Villains:".format(size)).split()]
print(villain_strength)
def get_player_strength(size):
player_strength = [int(x) for x in input("Enter {} numbers of space separated energy of Players:".format(size)).split()]
print(player_strength)
def compare_strength():
#resulten_strength = [m-n for (m,n) in zip(player_strength,villain_strength)] #doesn't work
#resulten_strength = [sum(x) for x in zip(player_strength, villain_strength)] #doesn't work
#resulten_strength = [list( map(add, …Run Code Online (Sandbox Code Playgroud)