我有这种格式的响应,并使用python代码获取键和值。
def test()
data={u'Application': u'e2e', u'Cost center': u'qwerty', u'Environment': u'E2E', u'e2e3': u'aktest1', u'e2etes
for k,v in data.items():
new = {}
print('forloop before')
for k,v in data.items():
print (k)
print (v)
new["key"] = k
new["tags"] = []
for d in v:
flds = list(d)
new["tags"].append({"key": k, "values": flds})
print(new["tags"])
test()
我将输出为 [{'key':'S68e2e','values':['f']},{'key':'S68e2e','values':['u']},{'key':'S68e2e', 'values':['n']},{'key':'S68e2e','values':['c']},{'key':'S68e2e','values':['t']} ,{'key':'S68e2e','values':['i']},{'key':'S68e2e','values':['o']},{'key':'S68e2e', 'values':['n']}]
这是不正确的。
答案 0 :(得分:1)
取决于是python 2还是python 3,您应该执行以下操作:
# Python 2
for k,v in data.iteritems():
...
# Python 3
for k,v in data.items():
...
在this SO线程中查看有关.items()
和.iteritems()
的更多详细信息。
答案 1 :(得分:1)
您需要使用data.items()
for k, v in data.items():
print(f'{k}: {v}')
输出
app: e2e
Cost: qwerty
Environment: E2E
e2e3: test
e2etest: at2
Se2e: function