Do this:
my_dict = dict(zip(list1, map(int, list2)))
Or with a dict comprehension:
my_dict = {k: int(v) for k, v in zip(list1, list2)}
map
maps a function to each element of an iterable.
map(int, list2) == [1, 2, 3, 4, 5]
zip
gives a list of tuples of the nth element of each of the lists. However if the list lengths aren't the same, it goes up to the length of the shortest list.
zip('foo', '1234') == [('f', '1'), ('o', '2'), ('o', '3')]