Манипулирането на данни се случва много при програмирането, в зависимост от проблема, който възнамерявате да разрешите. Често може да се окажете, че преобразувате една структура от данни в друга. Някои типове са толкова сходни, че преобразуването между тях е лесен процес.
В Python превръщането на речник във вложен или изравнен списък е едно популярно преобразуване, което ще откриете, че извършвате.
Преобразувайте речник на Python в списък с помощта на цикъл for
В за loop ви дава повече сцепление с вашите данни, докато конвертирате речник на Python в списък.
Например, следният код преобразува речник във вложен списък:
myDictionary = {"A": "Python", "B": "JavaScript", "C": "Node"}
конвертиран списък = []за и в моят речник:
convertedList.append([i, myDictionary[i]])печат (конвертиран списък)
# Изход: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]
Горният код вмъква всеки ключ (и) и стойност (моят речник[i]) сдвоява в отделни списъци и ги добавя в празен списък.
Същото е като да напишеш:
за ключ, стойност в myDictionary.items():
convertedList.append([ключ, стойност])
Можете също да поставите всяка двойка в набор или кортеж. Всичко, което трябва да направите, е да смените квадратните скоби ([]) около ключ, стойност двойка с къдрави скоби ({}) или скоби (()) съответно.
Можете също да постигнете това с помощта на a за цикъл заедно с Функцията за разбиране на списъка на Python:
convertedList = [[i, myDictionary[i]] за и в моят речник]
Функция за преобразуване на речник на Python в плосък списък
Докато горното за опциите на цикъла създават вложен списък, можете да го деструктурирате допълнително в прав списък, ако това е, което искате.
Следната функция го прави:
дефconvertToStraightList(sampleDict):
плоски списък = []за ключ, стойност в sampleDict.items():
flatList.extend([ключ, стойност])връщане flatList
печат (convertToStraightList (myDictionary))
# Изход: ['A', 'Python', 'B', 'JavaScript', 'C', 'Node']
Горната функция връща сплескан списък и концепцията е проста. Цикълът добавя всеки ключ и стойност сдвоете със списък, който функцията връща, когато приключи.
Използване на вградени едноредови функции
И двете карта и цип функциите позволяват едноредови решения на Python към този проблем, с различни резултати. Те може да са по-подходящи от за цикъл, в зависимост от проблема ви и със сигурност са по-удобни.
В цип функцията създава вложен списък от кортежи:
convertedList = списък (zip (myDictionary.keys(), myDictionary.values()))
печат (конвертиран списък)
# Изход: [('A', 'Python'), ('B', 'JavaScript'), ('C', 'Node')]
В карта функцията, от друга страна, дава списък със списъци:
convertedList = списък (карта (списък, myDictionary.items()))
печат (конвертиран списък)
# Изход: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]
Преобразувайте между списъци и речници на Python така или иначе
Тези различни начини за преобразуване на речник в списък са доста прости в Python. Така че можете да завъртите речник в списък, но можете да направите и обратното, като конвертирате списък на Python в речник.
Как да конвертирате списък в речник в Python
Прочетете Следващото
Свързани теми
- Програмиране
- Програмиране
- Python
За автора
Idowu е страстен за всичко, което е интелигентна технология и производителност. В свободното си време той играе наоколо с кодирането и преминава към шахматната дъска, когато му е скучно, но също така обича да се откъсва от рутината от време на време. Страстта му да показва на хората пътя около съвременните технологии го мотивира да пише повече.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!
Щракнете тук, за да се абонирате