python - SyntaxError:只能使用星号表达式作为赋值目标
问题描述
此处的原始问题 此代码适用于 v3.6.4,但是当我迁移到 v3.4 时,我收到一条错误消息:您将如何重写此代码?
for d in [*x, *y]:
^
SyntaxError: can use starred expression only as assignment target
=======================================
from operator import itemgetter
from collections import defaultdict
x = [ {'pid':111, 'sid':6, 'eid':123, 'x_qty':30},
{'pid':222, 'sid':56, 'eid':6212, 'x_qty':2} ]
y = [ {'pid':111, 'sid':6, 'eid':123, 'y_qty':123},
{'pid':333, 'sid':56, 'eid':6212, 'y_qty':112} ]
data = defaultdict(dict)
f = itemgetter('pid', 'sid', 'eid')
for d in [*x, *y]:
data[f(d)].update(d)
result = list(data.values())
=======================================
解决方案
推荐阅读
- javascript - 在 javascript 中使用 promise all() 进行昂贵的计算?
- amazon-web-services - AWS Appsync 订阅 - “连接失败:连接握手错误”
- java - 无法设置程序流程以正确运行功能
- python - AttributeError:“SimpleImputer”对象在 PyCaret 中没有属性“_validate_data”
- python - Pandas Dataframe:如何创建另一列的增量唯一值计数列
- python - 删除行包含 Pandas 数据框中的非英语单词
- css - StoryBook React 钩子
- c# - C# - 桌面与服务器上的 Oracle 日期不同
- python - 如何从 jetson nano 获取 gps 数据?
- python - PyMacs 可以用来在 Emacs 窗口中显示图形吗?