[英]How do I use the elements of a list as inputs in my function definition?
[英]How do I make it so I can add multiple inputs to a function and those inputs are added to a list as separate elements?
到目前为止,这是我的代码。
myUniqueList = []
def myFunction(input):
if input in myUniqueList:
return False
else:
myUniqueList.append(input)
print(myUniqueList)
return True
print(myFunction(2))
我希望能够将多个输入输入到 myFunction 中,如果其中一个输入等于另一个输入,则首先检查整个列表中的输入,如果是,function 应该返回 false。 如果没有,function 应该将这些输入添加到列表中,每个输入都作为一个单独的元素,打印列表并返回 True。 我尝试过使用 *args 之类的东西,但我只是卡住了。
第一个input
是内置的 function,我不会覆盖内置的。 至于检查包容性,您可以在if
语句中使用in
关键字。 至于传递多个 arguments ,您可以使用星形打包,然后使用any
if True 检查包容性,只需使用 args 扩展列表并删除重复项,只需使用dict.from_keys
:
myUniqueList = []
def myFunction(*args):
if any(n in myUniqueList for n in args):
return False
else:
myUniqueList.extend(dict.from_keys(args))
print(myUniqueList)
return True
也不是使用任何你可以使用的集合,它更有效:
if set(args) <= set(myUniqueList):
...
myUniqueList = [1 , 2]
def myFunction(*argv):
for input in argv:
if input in myUniqueList:
return False
else:
myUniqueList.append(input)
print(myUniqueList)
return True
print(myFunction(2)) # False
print(myFunction(0, 4, 6)) # True
您可以使用 python 集来比较数组中是否包含重复值,如果其中不存在,则稍后将其添加到myUniqueList
中。
myUniqueList = []
def myFunction(arr: list):
if len(arr) != len(set(arr)):
return False
else:
[myUniqueList.append(i) if i not in myUniqueList else None for i in arr]
print(myUniqueList)
return True
此更新后的代码可让您决定输入列表的长度
myUniqueList = []
def myFunction(lst):
for i in range(len(lst)):
if lst[i] in myUniqueList:
return False
else:
myUniqueList.append(lst[i])
print(myUniqueList)
return True
inputList = []
l = int(input("length of list: "))
for i in range(l):
inputList.append(input(f"Enter element {i+1}: "))
print(myFunction(inputList))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.