I am writing code which contains two lists. First list is a list of letters from A-Z. Second list is the list of numbers from 1-100.
The output should be the key value pair of letters and numbers. After getting the key value pair until 26th letter, the alphabet should start from the beginning again with the next consecutive number until 100.
The logic which I wrote is only giving me the result until 26 numbers:
import string
alphabet = list(string.ascii_lowercase)
number =list(range(1,101))
res = dict(zip(alphabet, number))
print(res)
But the output should be in the below format:
{
'a': 1,
'b': 2,
'c': 3,
'd': 4,
'e': 5,
'f': 6,
'g': 7,
'h': 8,
'i': 9,
'j': 10,
'k': 11,
'l': 12,
'm': 13,
'n': 14,
'o': 15,
'p': 16,
'q': 17,
'r': 18,
's': 19,
't': 20,
'u': 21,
'v': 22,
'w': 23,
'x': 24,
'y': 25,
'z': 26,
'a': 27,
'b': 28,
'c': 29,
'd': 30,
...
't': 98,
'u': 99,
'v': 100,
}
The comments have already explained that keys in a dictionary are unique, so your desired result is not possible with it. You can instead opt for either one of these solutions:
Which outputs
{'a': [1, 27, 53, 79], 'b': [2, 28, 54, 80], ..., 'z': [26, 52, 78]}
.Which outputs
{1: 'a', 2: 'b', ..., 100: 'v'}
.If these aren't useful, I would recommend looking into other data structures. The best approximation would be a list creating tuples of letters and numbers:
Which outputs
[('a', 1), ('b', 2), ..., ('v', 100)]
.