-1

I would like to get certain values from lists inside a dictionary and create a new variable for those values using for loop in Python.

sales = {'c1': [30.2, "lily"], 'c2': [31.3, "sam"], 'c3': [28.2, 'peter'], 'c4': [28.5, 'chan']}

expected output: sales_sum = [30.2, 31.3, 28.2, 28.5]

Jmonsky
  • 1,519
  • 1
  • 9
  • 16
Miss Nicole
  • 27
  • 1
  • 3

4 Answers4

1

Try this:

sales_sum = [x[0] for x in sales.values()]
Carsten
  • 2,765
  • 1
  • 13
  • 28
1
In [28]: sales = {'c1': [30.2, "lily"], 'c2': [31.3, "sam"], 'c3': [28.2, 'peter'], 'c4': [28.5, 'chan']}                                                                                                                                                                                                                     

In [29]: next(zip(*sales.values()))                                                                                                                                                                                                                                                                                           
Out[29]: (30.2, 31.3, 28.2, 28.5)
inspectorG4dget
  • 110,290
  • 27
  • 149
  • 241
0
python_sales = {'c1': [30.2, "lily"], 'c2': [31.3, "sam"], 'c3': [28.2, 'peter'], 'c4': [28.5, 'chan']}
sales_sum=[]
for sale in python_sales.keys():
    sales_sum.append(python_sales[sale][0])

does the trick? (although all other answers here are probably prettier)

Joozd
  • 501
  • 2
  • 14
0

list comprehension answers are nice, but if u want more readable:

for v in sales.values():
    sales_sum.append(v[0])
Arximede
  • 371
  • 1
  • 4
  • 17