Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 394
  • Last Modified:

Python Lists and Dictionaries

Hey, I have a result in my code as set of dictionaries inside a List as seen here:
[(1, 100000), (2, 200000), (3, 300000)]
So if i want to make variables(lets say a, b and c) which is equal to
a = 1 has 100000
b=  2 has  200000
c= 3 has  300000
how would i go about doing this. This is what i think it should contain:
for i in range(0, len(result)):
    a+=str(i[0][0]) + ' has' + str(i[0][1])
    b+=str(i[1][0]) + ' has ' + str(i[1][1])
    c+=str(i[2][0]) + ' has ' + str(i[2][1])
        print a
        print b
        print c

Open in new window

0
Student_101
Asked:
Student_101
  • 2
  • 2
1 Solution
 
Roger BaklundCommented:
That's a list of tuples, not dictionaries.

You don't need a loop in this case:
result = [(1, 100000), (2, 200000), (3, 300000)]
a = str(result[0][0]) + ' has ' + str(result[0][1])
b = str(result[1][0]) + ' has ' + str(result[1][1])
c = str(result[2][0]) + ' has ' + str(result[2][1])
print a
print b
print c
 
# using a loop:
for i,j in result:
  print i,'has',j

Open in new window

0
 
HonorGodCommented:
or, you could even do:

a, b, c = [(1, 100000), (2, 200000), (3, 300000)]

print a
print b
print c
0
 
HonorGodCommented:
sorry, crx is more complete.
0
 
Roger BaklundCommented:
You could do the same with shorter (but more complex) code:
result = [(1, 100000), (2, 200000), (3, 300000)]
a,b,c = map(lambda t:'%s has %s'%t,result)
print a
print b
print c

Open in new window

0
 
Student_101Author Commented:
Thank you
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now