2016-04-23 13 views
0

Ich lerne nur eine neue Methode zip() von Stackoverflow, aber es funktioniert nicht richtig.Ich konnte nicht 2 Listen in Wörterbuch mit zip() kombinieren

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() 

Der Fehlercode ist 'NoneType' Objekt ist nicht iterierbar '. Aber ich konnte den Grund nicht finden.

+0

'random.shuffle (obere_liste)' gibt * keine * Liste zurück - es mischt eine Liste an Ort und gibt 'None' zurück –

+0

Danke, kann ich random.simple verwenden, um eine neue Liste zurückzugeben? –

Antwort

1

Wenn Sie eine neu gemischt Kopie einer Liste zu erstellen, tun dies in zwei Schritten

1)

2) Mische die Kopie der Liste Kopieren:

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

Das Ergebnis kann mit anderen Listen gezippt werden.

Verwandte Themen