在python中划分两个数字列表(使用列表理解而不使用zip)

Nim*_*ran -1 python list divide

我对 python 语言相当陌生。我有两个这样的列表: 并且我还没有安装 numpy 包。

First_List = [10, 2, 5, 4, 100]

Second_List = [5, 10, 20, 20, 25]
Run Code Online (Sandbox Code Playgroud)

如何将每个元素除以 中的First_List元素Second_List?输出应该是:

Result = [2, 0.2, 0.2, 4]
Run Code Online (Sandbox Code Playgroud)

我想要输出中的列表,而不是数组!我怎样才能做到这一点 ?我尝试使用这个:

>>> First_List = [10, 2, 5, 4, 100]
>>> Second_List = [5, 10, 20, 20, 25]
>>> First_List/Second_List
Run Code Online (Sandbox Code Playgroud)

但我收到了这个错误:

回溯(最近一次调用最后一次):文件“”,第 1 行,在 First_List/Second_List 类型错误:/ 不支持的操作数类型:“列表”和“列表”

stu*_*ent 7

假设First_ListSecond_List具有相同数量的元素,您可以迭代任何列表的索引范围,并将一个列表的元素与另一个列表的相应元素分开:

First_List = [10, 2, 5, 4, 100]
Second_List = [5, 10, 20, 20, 25]
result = []

# get last index for the lists for iteration
end_index = len(First_List)

for i in range(end_index):
    result.append(First_List[i]/Second_List[i])
result
Run Code Online (Sandbox Code Playgroud)

输出:

[2.0, 0.2, 0.25, 0.2, 4.0]
Run Code Online (Sandbox Code Playgroud)

这一切都可以使用列表理解来完成

result = [First_List[i]/ Second_List[i] for i in range(len(First_List))]
Run Code Online (Sandbox Code Playgroud)

或者,可以使用 zip 和列表理解来完成(更好)。详细信息您可以在这里查看:

result = [a/b for a,b in zip(First_List,Second_List)]
Run Code Online (Sandbox Code Playgroud)