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

标签 python list divide

我有两个这样的列表:

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

banana = ['18\n', '16\n', '120\n']

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

我必须去掉 '\n',只留下值,然后制作一个公式,分为:

bananasplit[0] = banana[0]/monkey[0]

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

你会如何解决这个小问题?

最佳答案

以下将执行此操作:

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

就您的原始代码而言,主要问题是以下内容实际上是空操作:

[int(i) for i in monkey]
[int(i) for i in banana]

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

monkey = [int(i) for i in monkey]
banana = [int(i) for i in banana]

最后,值得注意的是,根据 Python 版本,使用 / 将一个整数除以另一个整数会截断结果或返回浮点结果。参见 In Python 2, what is the difference between '/' and '//' when used for division?

关于python - 将一个列表除以另一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14434605/

相关文章:

python - Tensorflow 2.0具体函数structured_input_signature返回值

python - 在 urllib2 中发出 GET 请求和欺骗用户代理时出现问题

python - 通过列表 Python 进行搜索和查找

sql-server - sql server查询将列中的行分为四组或四列

python - 在嵌套字典中搜索关键树

python - 如何解决 bin/python bootstrap.py -d 期间的 pkg_resources.VersionConflict 错误

python - 类型错误: 'float' 对象不可迭代,Python 列表

c - 为什么我运行 C 程序时没有任何反应?

r - 将数据框中的所有数字除以同一数据框中的选定行和 R 中的相应列位置

java - BigDecimal.divide(BD,int,RM) - BigDecimal 无法转换为双错误