问题描述
这是我想要的布局外观。我希望它是一个函数,因此可以在cmd提示符下使用它。每个列表的长度必须相同,否则,不返回任何内容
def add_elements(list1,list2):
if len(list1)==len(list2):
for i in list1:
else:
None
我不知道“ for list1中的for for”是否是我应该使用的,如果是,那会是什么?
解决方法
在for
循环中使用列表索引
list1 = [1,2,3,4,5]
list2 = [5,1]
def add_elements(list1,list2):
if len(list1) != len(list2): return None
lst = []
if len(list1)==len(list2):
for i in range(len(list1)):
lst.append(list1[i] + list2[i])
return lst
print(add_elements(list1,list2))
输出
[6,6,6]
如果允许使用zip
函数,则会更快:
list1 = [1,1]
lst = [a+b for a,b in zip(list1,list2)]
print(lst)
输出
[6,6]
,
如果我对您的理解正确,我想这就是你要寻找的东西:
def add_elements(list1,list2):
if len(list1) == len(list2):
results = []
for i in range (len(list1)):
results.append(list1[i] + list2[i])
return results
else:
return None
l1 = [1,4]
l2 = [5,7,8]
l3 = [1,5,6]
print(add_elements(l1,l2))
print(add_elements(l1,l3)
如果列表长度相同,则for循环将在添加元素的列表长度上进行迭代。最后几行(在函数定义之外)将证明该函数有效。第一个打印语句将为您提供结果列表。第二个打印语句将显示“无”,因为l1和l3的长度不同。
我希望这会有所帮助。