我相信以下调整可以满足您的要求:
当您只是将值分配给相应的键时,它会保留long
特征:
yesterday = {'facebook_adgroups': [4634L], 'google_third_party_tags': [1790L]}
for k, v in yesterday.iteritems():
i = 0
print v[0]
yesterday[k] = v[0]
i += 1
print yesterday
结果是
4634
1790
{'facebook_adgroups': 4634L, 'google_third_party_tags': 1790L}
请注意,这些值仍然具有L
. 但是当我改变任务时:
yesterday[k] = int(v[0])
输出变为
{'facebook_adgroups': 4634, 'google_third_party_tags': 1790}
我会坦率地承认这“不是很 Pythonic”——但它似乎确实可以完成这项工作。
重新阅读您的问题后,我似乎回答了标题中所述的问题 - 但现在我仔细观察,不清楚这是否是您正在努力解决的问题。
我强烈提醒您,如果您从键/值对开始,尝试使用数字索引是充满危险的。事情可能与您想象的不一样,物品可能丢失等。除非您以已知顺序专门分配,并使用缺失值的默认值,否则有一天会出错 - 您将花费数小时寻找错误. 最好做类似的事情
yNum[0] = yesterday['facebook_adgroups']
yNum[1] = yesterday['google_third_party_tags']
等等。int()
如果你想强制类型,也许在它周围。