Python函数参数与高级特性详解
1. 函数参数混合与集合操作
在Python编程中,参数混合操作并不一定会生成所有可能的参数顺序。例如,对于4个参数,若要生成所有顺序,需要进行全排列和24次混合迭代,但通常只需检查参数顺序是否影响结果即可。在集合操作里,重复元素不会出现在交集和并集中,这从数学角度符合集合操作的定义。
以下是相关代码示例:
>>> intersect([1, 2, 1, 3], (1, 1, 4))
[1]
>>> union([1, 2, 1, 3], (1, 1, 4))
[1, 2, 3, 4]
>>> tester(intersect, ('ababa', 'abcdefga', 'aaaab'), False)
['a', 'b']
['a', 'b']
['a', 'b']
从算法角度看,这些操作并非最优,但可作为后续优化的基础。而且,像示例中的参数混合函数,可作为通用工具。若将混合机制提取到另一个函数中, tester 函数会更简洁,示例代码如下:
>>> def tester(func, items, trace=True):
for args in scramble(items):
...przetwarzanie argumentów...
需要注意的是,Python现在已有专门的集合类型,书中
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



