SyntaxError:只能将已加星标的表达式用作赋值目标

时间:2018-05-11 20:54:00

标签: python python-3.x

Original Question here 此代码适用于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())
=======================================

0 个答案:

没有答案