将一个列表除以另一个列表

Ras*_*usJ 13 python list divide

我有两个这样的列表:

monkey = ['2\n', '4\n', '10\n']

banana = ['18\n', '16\n', '120\n']
Run Code Online (Sandbox Code Playgroud)

我想用这两个列表做的是制作第三个列表,我们称之为bananasplit.

我必须剥离' \n',只留下价值,然后制定一个公式,分为:

bananasplit[0] = banana[0]/monkey[0]
Run Code Online (Sandbox Code Playgroud)

bananasplit[1] = banana[1]/monkey[1] 等等

我尝试了while循环,但无法做到正确.这是我做的:

bananasplit = 3*[None]

i = 0

while i <= 2:

    [int(i) for i in monkey]

    [int(i) for i in banana]

    bananasplit[i] = banana[i]/monkey[i]

    i += 1
Run Code Online (Sandbox Code Playgroud)

你会如何拆除这个小问题?

NPE*_*NPE 21

以下将这样做:

>>> bananasplit = [int(b) / int(m) for b,m in zip(banana, monkey)]
>>> print(bananasplit)
[9, 4, 12]
Run Code Online (Sandbox Code Playgroud)

就原始代码而言,主要问题是以下是有效的无操作:

[int(i) for i in monkey]
[int(i) for i in banana]
Run Code Online (Sandbox Code Playgroud)

要将它们变成有用的东西,您需要在某处分配结果,例如:

monkey = [int(i) for i in monkey]
banana = [int(i) for i in banana]
Run Code Online (Sandbox Code Playgroud)

最后,值得注意的是,根据Python版本,使用/截断结果或返回浮点结果将一个整数除以另一个整数.参见Python 2,当用于除法时,'/'和'//'之间有什么区别?