Как мне получить список из строки в Python? - PullRequest
0 голосов
/ 28 марта 2019

Я получаю некоторые значения из словаря.Но когда я распечатываю их, они отображаются снизу, мне нужно свернуть их в один список.

Я испробовал много методов.Также список понимания.

Обновление: Данные моего словаря:

Hours= [
   {'kota': 3, 'saat': '09:00'},
   {'kota': 3, 'saat': '09:20'},
   {'kota': 3, 'saat': '09:40'},
   {'kota': 3, 'saat': '10:00'},
   {'kota': 3, 'saat': '10:20'},
   {'kota': 3, 'saat': '10:40'},
   {'kota': 2, 'saat': '11:00'},
   {'kota': 2, 'saat': '11:20'},
   {'kota': 2, 'saat': '11:40'},

]

И я возвращаю значения из dic:

for hour in hours:
a = hour.get("saat")  # From dicionary
print(a)

Мой возврат:

09:00
10:00
10:20

Но я должен их отобразить:

['09:00', '10:00', '10:20']

Ответы [ 6 ]

3 голосов
/ 28 марта 2019

Понимание списка, вероятно, лучший вариант:

mylist = [hour.get("saat") for hour in Hours]

или

mylist = [hour["saat"] for hour in Hours]
0 голосов
/ 28 марта 2019

Вы можете использовать понимание списка:

>>> print([hour.get("saat") for hour in Hours])
['09:00', '09:20', '09:40', '10:00', '10:20', '10:40', '11:00', '11:20', '11:40']

Кроме того, помните, что вы можете изменить hour.get("saat") только на hour["saat"]:

>>> print([hour["saat"] for hour in Hours])
['09:00', '09:20', '09:40', '10:00', '10:20', '10:40', '11:00', '11:20', '11:40']    

Кроме того, не уверены, что выможет понадобиться, но вы можете использовать str.join(iterable), если вы ищете только однострочную визуализацию на консоли:

>>> print(", ".join([hour["saat"] for hour in Hours]))
09:00, 09:20, 09:40, 10:00, 10:20, 10:40, 11:00, 11:20, 11:40
0 голосов
/ 28 марта 2019

Используйте список python для получения желаемых отпечатков.

listTmp = []
for hour in hours:
    a = hour.get("saat")  # From dicionary
    listTmp.append(a)
print(listTmp)
0 голосов
/ 28 марта 2019

Oneliner:

list(map(lambda x:x.get('saat'), Hours))

Выход:

['09:00',
 '09:20',
 '09:40',
 '10:00',
 '10:20',
 '10:40',
 '11:00',
 '11:20',
 '11:40']
0 голосов
/ 28 марта 2019

Вы можете создать пустой список, например, mylist и добавить в список. В вашем коде словарь Hours, но вы использовали часы для цикла.

mylist = []
for hour in Hours:
    mylist.append(hour.get("saat"))  # From dicionary
print(mylist)
0 голосов
/ 28 марта 2019

Объявите пустой список в начале. Переберите словарь и добавьте каждый элемент в список.

Печать списка вне цикла после завершения всей итерации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...