在python上,是否有任何方法可以将列表的每个元素与另一个列表的每个元素分开
我试过这个,但它给了我错误 我想要的是我不想导入任何外部模块numpy或其他使用在python上,是否有任何方法可以将列表的每个元素与另一个列表的每个元素分开,python,Python,我试过这个,但它给了我错误 我想要的是我不想导入任何外部模块numpy或其他使用zip()内置方法: list_1 = [10,12,16,20] list_2 = [2,9,5,3,6] division = [] for x in list_1 : division.append (list_2/x) print (division) 印刷品: list_1 = [10,12,16,20] list_2 = [2,9,5,3,6] division = [] for e1
zip()
内置方法:
list_1 = [10,12,16,20]
list_2 = [2,9,5,3,6]
division = []
for x in list_1 :
division.append (list_2/x)
print (division)
印刷品:
list_1 = [10,12,16,20]
list_2 = [2,9,5,3,6]
division = []
for e1, e2 in zip(list_1, list_2):
division.append(e2 / e1)
print(division)
试着这样做:
[0.2, 0.75, 0.3125, 0.15]
您可以按以下方式使用
map
:
list_1 = [10,12,16,20]
list_2 = [2,9,5,3,6]
division = []
for x in list_1:
for y in list_2:
division.append(y/x)
print(division)
输出:
list_1 = [10,12,16,20]
list_2 = [2,9,5,3,6]
division = list(map(lambda x,y:x/y,list_2,list_1))
print(division)
map
accept函数和iterables,我确实使用了匿名函数(lambda)来接受两个参数,这两个参数返回除法的效果,list_2
和list_1
map
确实将该函数应用于相互对应的元素,并给出迭代器,我将其转换为list
如果要将第一个列表的元素除以另一个列表中相同位置的元素,可以在列表中使用zip:
[0.2, 0.75, 0.3125, 0.15]
listA = [10,12,16,20]
listB = [2,9,5,3,6]
divisions = [ a/b for a,b in zip(listA,listB) ]
print(divisions)
# [5.0, 1.3333333333333333, 3.2, 6.666666666666667]
如果确实要将第一个列表的每个元素除以另一个列表的每个元素,请使用两级列表理解:
[0.2, 0.75, 0.3125, 0.15]
listA = [10,12,16,20]
listB = [2,9,5,3,6]
divisions = [ a/b for a,b in zip(listA,listB) ]
print(divisions)
# [5.0, 1.3333333333333333, 3.2, 6.666666666666667]
请重新写下你的问题的标题,使其更加简洁明了。修改你的文章,试着理解那些会读到你怀疑的人。