On Mon, 3 Apr 2017 02:13 am, Ganesh Pal wrote: > Dear Python friend > > > I have a nested data dictonary in the below format and I need to store > 1000 of entries which are in teh below format > > >>>> X['emp_01']['salary3'] = dict(sex="f", status="single", exp="4", > grade="A",payment="200") >>>> X['emp_01']['salary4'] = dict(sex="f", status="single", exp="4", > grade="A",payment="400") >>>> X['emp_01']['salary5'] = dict(sex="f", status="single", exp="4", > grade="A",payment="400")
Why is payment a string? > I only thing thats is changing is payment and I have payment_list as a > list > [100,200,400,500]: And here payment is an int. > The value salary3 ,salary4,salary4 is to be generated in the loop . Iam > trying to optimize the above code , by looping as shown below In the above example, you have strings "salary3", "salary4", "salary5", but in the code below, you use 0, 1, 2 instead. Which do you intend to use? >>>> X = {} >>>> X['emp_01'] ={} >>>> for salary in range(len(payment_list)): > ... X['emp_01'][salary] = dict(sex="f", status="single", exp="4", > grade="A",payment=payment_list[salary]) You should almost never need to write `range(len(payment_list))`. payment_list = [100, 200, 400, 500] employees = {} employees['emp_01'] = {} for salary, payment in enumerate(payment_list, 3): # I don't know why salary starts at 3 instead of 1 or 0. salary = 'salary' + str(salary) employees['emp_01'][salary] = dict( sex="f", status="single", exp="4", grade="A", payment=payment ) from pprint import pprint pprint(employees) {'emp_01': {'salary3': {'exp': '4', 'grade': 'A', 'payment': 100, 'sex': 'f', 'status': 'single'}, 'salary4': {'exp': '4', 'grade': 'A', 'payment': 200, 'sex': 'f', 'status': 'single'}, 'salary5': {'exp': '4', 'grade': 'A', 'payment': 400, 'sex': 'f', 'status': 'single'}, 'salary6': {'exp': '4', 'grade': 'A', 'payment': 500, 'sex': 'f', 'status': 'single'}}} -- Steve “Cheer up,” they said, “things could be worse.” So I cheered up, and sure enough, things got worse. -- https://mail.python.org/mailman/listinfo/python-list