On Sun, Apr 2, 2017 at 10:35 PM, Steve D'Aprano <steve+pyt...@pearwood.info> wrote:
> > Why is payment a string? > > Yes it should be 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? > > It must be Salary1,Salary2 > 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'}}} > > > > Thanks ; Ganesh -- https://mail.python.org/mailman/listinfo/python-list