gpt4 book ai didi

使用另一个过程的 Python 过程不返回任何内容

转载 作者:行者123 更新时间:2023-12-01 01:19:25 24 4
gpt4 key购买 nike

我对 python 很陌生,我正在上一个在线类(class)来学习基础知识。虽然一切进展顺利,但仍有一些事情我似乎没有掌握 python ..

尽管我找到了一种更简单的方法来解决以下问题,但我仍然想了解为什么我的程序返回“None”..我的 if 语句有错误吗?语法错误?

问题是这样的:

定义一个过程 union,它将两个列表作为输入。它应该将第一个输入列表修改为两个列表的集合并集。您可以假设第一个列表是一个集合,即它不包含重复的元素。

我们期望的结果:

a = [1,2,3]
b = [2,4,6]

union(a,b)
print a
#>>> [1,2,3,4,6]

您会注意到,在我的过程中,我使用另一个过程来查找列表项是否在另一个列表中。难道问题就出在于此吗?

这是我的代码:

def find_element(a,b):
if b in a:
return a.index(b)
return - 1



def union(a,b):
i = 0
while i < len(b) - 1:
c = find_element(a,b[i])

if c != -1:
i = i + 1
if c == -1:
a = a.append(b[i])
i = i + 1
return a

a = [1,2,3]
b = [2,4,6]

print(union(a,b))

最佳答案

a = a.append(b[i])

这里,a.append(b[i]) 将 b[i] 附加到 a 并返回您分配给“a”的“none”。

将其更改为

a.append(b[i])

你至少应该得到一个输出。

关于使用另一个过程的 Python 过程不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53990854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com