当需要获取最小元素来构造字符串时,需要“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',则结果显示在控制台上。