微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我基本上想做一个元素明智的加法,但只用于循环,所以没有numpy或map

如何解决我基本上想做一个元素明智的加法,但只用于循环,所以没有numpy或map

这是我想要的布局外观。我希望它是一个函数,因此可以在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的长度不同。

我希望这会有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。