Konstruuję słownik (który później utworzę w łańcuchu JSON). Konstruuję to tak:Jedna linia pętli do budowania słownika?
data = {}
for smallItem in bigList:
data[smallItem] = smallItem
Jak mogę to zrobić dla pętli jednej linii?
Konstruuję słownik (który później utworzę w łańcuchu JSON). Konstruuję to tak:Jedna linia pętli do budowania słownika?
data = {}
for smallItem in bigList:
data[smallItem] = smallItem
Jak mogę to zrobić dla pętli jednej linii?
Można użyć dict comprehension:
data = {smallItem:smallItem for smallItem in bigList}
Można również użyć dict
i generator expression:
data = dict((smallItem, smallItem) for smallItem in bigList)
Ale zrozumienie DICT będzie szybciej.
Jeśli chodzi o konwersję tego ciągu na ciąg JSON, można użyć json.dumps
.
Właściwie w tym konkretnym przypadku nie trzeba nawet słownikowego rozumienia ponieważ używasz duplikaty par klucz/wartość
>>> bigList = [1, 2, 3, 4, 5]
>>> dict(zip(bigList, bigList))
{1: 1, 2: 2, 3: 3, 4: 4, 5: 5}
To działa, dzięki! – easythrees
Jedyną zaletą 'dict' z wyrażeniem generatora jest to, że działa z Python2.6 i poniżej, które mogą być ważne – jamylak
Dzięki, jestem początkującym dla Pythona, i próbowałem znaleźć nazwę tej funkcji . – phlaxyr