gpt4 book ai didi

python - 列表理解和 "not in"关键字

转载 作者:行者123 更新时间:2023-11-30 22:54:51 25 4
gpt4 key购买 nike

正在进行一些基本的编程练习,但有些困惑地发现以下代码片段不返回相同的值。列表理解语法似乎几乎忽略了我在从列表理解本身创建的列表上使用的“not in”关键字。这种行为是不允许的吗?该函数只是查找整数列表中的某个位置是否存在 1、2 和 3。

# Working, no list-comprehension
def array123(lst):
my_lst = []
for num in lst:
if num not in my_lst and (num == 1 or num == 2 or num == 3):
my_lst.append(num)
if sorted(my_lst) == [1, 2, 3]:
return True
else:
return False

# List Comprehension
def array123(lst):
my_lst = []
my_lst = [num for num in lst if num not in my_lst and (num == 1 or num == 2 or num == 3)]
if sorted(my_lst) == [1, 2, 3]:
return True
else:
return False

最佳答案

或者使用集合:

#!python3
_SET123 = {1,2,3}

def array123(iterable):
return set(i for i in iterable if i in _SET123) == _SET123



for x in "123", (1,2,2,2), [1,2,3], {1:"one", 3:"two", 2:"three"}:
print(x, array123(x))

关于python - 列表理解和 "not in"关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37634691/

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