我正在使用返回的json在python中创建一个dict。
我希望成为shortuuid的其中一个值,所以我将一个函数作为值。 我希望调用该函数,并将值替换为该函数返回的内容。
这是对的吗?
tvMSG = {'fromEMAIL': uEmail, 'toCHANNELID': channelID, 'timeSENT': uTime}
for msgkey, subdict, instakey in (('profilePIC', 'user', 'profile_picture'),
('userNAME', 'user', 'username'),
('msgBODY', 'caption', 'text'),
('mainCONTENT','images', 'standard_resolution',)
('tvshowID', shortuuid.uuid())):
this is the key/value in question:
('tvshowID', shortuuid.uuid())):
这是我得到的错误:
TypeError: 'tuple' object is not callable
如果不能如何使其发挥作用?
答案 0 :(得分:4)
错误来自缺少的逗号。这一行:
('mainCONTENT','images', 'standard_resolution',)
实际应该是:
('mainCONTENT','images', 'standard_resolution'),
这就是您收到错误'tuple' object is not callable
的原因,您正在调用('any','tuple')('arguments')
。
答案 1 :(得分:0)
感谢提示@ThierryJ。
tvMSG = {'fromEMAIL': uEmail, 'toCHANNELID': channelID, 'timeSENT': uTime, 'tvshowID: shortuuid.uuid()}
for msgkey, subdict, instakey in (('profilePIC', 'user', 'profile_picture'),
('userNAME', 'user', 'username'),
('msgBODY', 'caption', 'text'),
('mainCONTENT','images', 'standard_resolution')):
无需进行任何迭代。 我刚把这个调用从循环中取出并放在循环上面的变量中。