获取字符串构造的最小元素的 Python 程序
当需要获取最小元素来构造字符串时,需要“set”运算符、“combinations”方法、“issubset”方法和简单的迭代。
示例
下面是相同的演示
from itertools import combinations
my_list = ["python", "is", "fun", "to", "learn"]
print("名单是:")
print(my_list)
my_target_str = "onis"
my_result = -1
my_set_string = set(my_target_str)
complete_val = False
for value in range(0, len(my_list) + 1):
for sub in combinations(my_list, value):
temp_set = set(ele for subl in sub for ele in subl)
if my_set_string.issubset(temp_set):
my_result = value
complete_val = True
break
if complete_val:
break
print("结果是:")
print(my_result)输出结果名单是: ['python', 'is', 'fun', 'to', 'learn'] 结果是: 2
解释
所需的包被导入到环境中。
定义了一个列表并显示在控制台上。
定义了另一个字符串。
字符串被转换为列表。
对列表进行迭代,得到列表中元素的不同组合。
该列表被迭代并转换为一个集合。
'issubset'方法用于检查某个值是否属于该集合。
如果是,则为变量分配“真”值,并跳出循环。
如果该值最终为'True',则结果显示在控制台上。