2024-04-20 08:12:34 发布
网友
我有一套字典,里面有一些键值对。我想知道最有效的方法将它们分成两半,然后对每一组应用一些处理。我想外面有一条船。。。
也就是说,如果我有字典A,B,C,D,我希望得到结果集:(A,B),(A,C),(A,D),而不是剩下的集(C,D),(B,D),(B,C)
可能是这样的:
示例:
In [17]: from itertools import * In [18]: lis=('a','b','c','d') In [19]: for x in islice(combinations(lis,2),len(lis)-1): print x, ....: ....: ('a', 'b') ('a', 'c') ('a', 'd')
itertools和一行通常属于同一句话:
itertools
>>> import itertools >>> s = ['A', 'B', 'C', 'D'] >>> i = itertools.product(s[0], s[1:]) >>> list(i) [('A', 'B'), ('A', 'C'), ('A', 'D')]
试试这个:
l = ['a','b','c','d'] def foo(l): s0 = None for i in l: if s0 is None: s0=i continue yield (s0,i) for k in foo(l): print k
输出:
('a', 'b') ('a', 'c') ('a', 'd')
可能是这样的:
示例:
itertools
和一行通常属于同一句话:试试这个:
输出:
相关问题 更多 >
编程相关推荐