Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create Python Dictionary

a_lst = list()
b_lst = list()
tmp = list()
c_dct = dict()
while True:
   a = raw_input("a=")
   a_lst.append(a)
   b = raw_input("b=")
   b_lst.append(b)
   if a == "end":
      break
a_lst.remove('end')
print a_lst
print b_lst


for i in range(len(a_lst)):
   c_dct[a_lst[i]] = b_lst[i] 


print c_dct

In this code, I combine 2 lists to create the dictionary. In the result, the dictionary is not the same position as the input. For example,

c_dct = {'q': 'w', 'e': 'r', 'o': 'p', '1': '2', '3': '4', '5': '6', 't': 'y', '7': '8', '9': '0', 'u': 'i'}

instead of

c_dct =  {'1': '2', '3': '4', '5': '6','7': '8', '9': '0','q': 'w', 'e': 'r','t': 'y','u': 'i','o': 'p'}

What is going on the code? How to slove this problem? Thank You very much!

like image 524
Chanon Khongprasongsiri Avatar asked Jul 31 '26 14:07

Chanon Khongprasongsiri


1 Answers

Dictionaries do not maintain order by default. If you need an ordered dictionary, you can use the following:

from collections import OrderedDict

Take a look at the documentation

like image 155
Gareth Webber Avatar answered Aug 02 '26 05:08

Gareth Webber



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!