Python – 跨列表的不相交字符串
pythonserver side programmingprogramming更新于 2025/10/14 6:04:17
当需要跨列表查找不相交字符串时,会定义一个方法,该方法接受两个参数,并使用 lambda 和 reduce 方法以及 ‘if’ 条件来确定结果。
下面是相同的演示 −
示例
from functools import reduce
def determine_disjoint_pairs(disjoint_data, my_result=[]):
if not disjoint_data and not reduce(lambda a, b: set(a) & set(b), my_result):
Yield tuple(my_result)
elif disjoint_data:
收益 [idx for k in disjoint_data[0] for idx in determine_disjoint_pairs(disjoint_data[1:], my_result + [k])]
my_list_1 = ["python", "is", "fun"]
my_list_2 = ["its", "awesome", "learning"]
print("第一个列表是:")
print(my_list_1)
print("第二个列表是:")
print(my_list_2)
my_result = list(determine_disjoint_pairs([my_list_1, my_list_2]))
print("结果为:")
print(my_result)
输出
第一个列表为:
['python', 'is', 'fun']
第二个列表为:
['its', 'awesome', 'learning']
结果为:
[('fun', 'its'), ('fun', 'awesome')]
解释
定义了一个名为‘determine_disjoint_pairs’的方法,该方法接受两个参数。
如果第一个参数不为真,并且‘reduce’并且使用两个参数的‘lambda’方法不正确,则使用yield运算符来确定结果,该结果也会转换为元组。
否则,通过使用不同的参数集再次调用该方法,使用yield运算符和列表推导式。
在方法之外,定义两个字符串列表并显示在控制台上。
通过传递这两个列表来调用该方法。
它被转换为列表并分配给变量。
此变量在控制台上显示为输出。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

