Python:检查元组中的字符串是否以特定内容结尾

2 投票
1 回答
721 浏览
提问于 2025-04-18 04:25

在Python中,你可以用 string.endswith(tuple) 来检查一个字符串是否以元组中的某个项结尾。但是,有没有简单的方法可以找出这个字符串到底是以元组中的哪个项结尾的(如果它确实以某个项结尾的话),而不需要一个一个去检查元组里的每个项呢?

1 个回答

2

不,这个操作没有办法不使用循环。你可以创建一个生成器表达式,像这样:

next((suffix for suffix in suffix_tuple if input_string.endswith(suffix)), None)

比如说,

suffix_tuple, input_string = ("s", "r", "t"), "clear"
next((suffix for suffix in suffix_tuple if input_string.endswith(suffix)), None)
# r

因为默认值是 None,所以如果在 suffix_tuple 中没有任何字符串匹配,它就会返回 None

撰写回答