Skip to main content
 首页 » 编程设计

python之如何检查一个字符串是否是其他字符串的串联,并在python中的每个字符串之间插入一个字符

2025年05月04日20虾米哥

我正在尝试检查用户输入的字符串是否包含在其他字符串的列表中以及这些字符串的任何排列,以“*”分隔。

换句话说,这是我目前的代码:

user_string=raw_input("Please supply a string") 
 
 
viable_entries=['this', 'that', 'something else'] 
 
if user_string in viable_entries: 
    print "here I'd move on with my script" 

如果 user_string = "something else*this"或 "this*that"等,我还想打印“here I'd move on with my script”。

是否有一种简单的 Pythonic 方式来做到这一点?

请您参考如下方法:

您可以拆分输入并使用 set.issubset:

if set(user_string.split('*')).issubset(viable_entries): 
     ... 

请注意,即使重复输入 ("this*this"),这也会给出 True。如果你想阻止用户提供重复的条目,你可以使用 len(set):

entries = user_string.split('*') 
if set(entries).issubset(viable_entries) and len(set(entries)) == len(entries): 
     ...