Chenkun Huo
Chenkun Huo

Reputation: 3

I could not combine 2 lists into dictionary using zip()

I just learn a new method zip() from Stackoverflow, but it does not work properly.

def diction():
import random
import string
import itertools



dictionary_key={}
upper_list = []
string_dictionary_upper = string.ascii_uppercase
for n in string_dictionary_upper:
    upper_list.append(n)

upper_list_new = list(random.shuffle(upper_list))

dictionary_key = dict(zip(upper_list, upper_list_new))


diction()

The error code is 'NoneType' object is not iterable'. But I could not find why.

Upvotes: 0

Views: 36

Answers (1)

John Coleman
John Coleman

Reputation: 51998

If you want to create a shuffled copy of a list do so in two steps

1) Copy the list

2) Shuffle the copy:

upper_list_new = upper_list[:]  #create a copy
random.shuffle(upper_list_new) #shuffle the copy

The result can then be zipped with other lists.

Upvotes: 1

Related Questions