gpt4 book ai didi

python - 基本过滤器返回一个空列表

转载 作者:行者123 更新时间:2023-11-28 20:14:05 26 4
gpt4 key购买 nike

def only_upper(t):
res = []
for s in t:
if s.isupper():
res.append(s)
return res
t = ['a', 'B', 'c', 'D']

print only_upper(t)

我想弄清楚为什么这会返回一个空列表。结果在控制台中看起来像这样:

[]

最佳答案

您在 for 循环的第一个元素之后立即返回,而不是在它完成之后返回。取消缩进您的 return 语句,您应该没问题:

def only_upper(t):
res = []
for s in t:
if s.isupper():
res.append(s)
return res # Here!

另外值得一提的是,在列表理解中编写这样的过滤器通常比实现整个逻辑更容易:

print([x for x in t if x.isupper()])

关于python - 基本过滤器返回一个空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51091466/

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