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