gpt4 book ai didi

python - 如何将过滤后的字符串附加到 Python 中的新列表?

转载 作者:太空宇宙 更新时间:2023-11-03 14:36:55 24 4
gpt4 key购买 nike

我想将一个字符串附加到从旧列表中筛选出来的新列表。

到目前为止我尝试了什么:

languages = ['thai01', 'thai02', 'thai03', 'jap01', 'jap02', 'jap03']

thai = []
japanese = []


def filter_str(lang):
if 'tha' in lang:
return True
else:
return False


filter_lang = filter(filter_str, languages)
thai = thai.append(filter_lang)

print(thai)

我的预期输出是:

['thai01', 'thai02', 'thai03']

最佳答案

您可以使用列表理解:

languages = ['thai01', 'thai02', 'thai03', 'jap01', 'jap02', 'jap03']
thai = [x for x in languages if 'thai' in x]
print(thai)

输出:

['thai01', 'thai02', 'thai03']

为了帮助您理解这个单行代码的逻辑,请根据您的代码查看以下示例:

languages = ['thai01', 'thai02', 'thai03', 'jap01', 'jap02', 'jap03']

thai = []

def filter_str(lang):
if 'tha' in lang:
return True
else:
return False

for x in languages:
if filter_str(x):
thai.append(x)

print(thai)
# ['thai01', 'thai02', 'thai03']

检查字符串 'tha' 是否出现的 for 循环(在本例中借助您的函数)与上面的列表推导逻辑相同(尽管对于第一个示例,您甚至不需要该功能)。您还可以将列表推导式与您的函数结合使用:

languages = ['thai01', 'thai02', 'thai03', 'jap01', 'jap02', 'jap03']

def filter_str(lang):
if 'tha' in lang:
return True
else:
return False

thai = [x for x in languages if filter_str(x)]

print(thai)
# ['thai01', 'thai02', 'thai03']

关于python - 如何将过滤后的字符串附加到 Python 中的新列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57322593/

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