Kit*_*Kit 1 python yield group-by python-itertools iterable-unpacking
我有一个在itertools.groupby操作中创建的列表:
def yield_unpacked_list():
for key, grp in itertools.groupby(something_to_groupby, key=lambda x: x[0]):
subset_of_grp = list(item[2] for item in list(grp))
yield key, subset_of_grp
Run Code Online (Sandbox Code Playgroud)
例如,如果subset_of_grp结果是[1, 2, 3, 4]和[5, 6, 7, 8]:
for m in yield_unpacked_list():
print m
Run Code Online (Sandbox Code Playgroud)
打印出来:
('first_key', [1, 2, 3, 4])
('second_key', [5, 6, 7, 8])
Run Code Online (Sandbox Code Playgroud)
现在,回到我的函数定义.显然以下是语法错误(*运算符):
def yield_unpacked_list():
for key, grp in itertools.groupby(something_to_groupby, key=lambda x: x[0]):
subset_of_grp = list(item[2] for item in list(grp))
yield key, *subset_of_grp
Run Code Online (Sandbox Code Playgroud)
我希望同一 print循环的以下结果不带[list]括号:
('first_key', 1, 2, 3, 4)
('second_key', 5, 6, 7, 8)
Run Code Online (Sandbox Code Playgroud)
请注意,print这里仅用于说明目的.我还有其他功能可以从简化的tuple结构中受益.
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |