0

I have a response in this format and using python code to fetch the key and values.

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()

I am getting output as [{'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']}]

which is not correct.

Mia
  • 448
  • 8
  • 22

2 Answers2

1

Depending whether it's python 2 or 3 you should do the following:

# Python 2
for k,v in data.iteritems():
   ...
# Python 3
for k,v in data.items():
   ...

See more details on .items() and .iteritems() in this SO thread.

ege
  • 774
  • 5
  • 19
1

You need to use data.items()

for k, v in data.items():
    print(f'{k}: {v}')

Output

app: e2e
Cost: qwerty
Environment: E2E
e2e3: test
e2etest: at2
Se2e: function
Guy
  • 46,488
  • 10
  • 44
  • 88