понимание списка Python: создание списка из нескольких элементов из каждого списка в списке списков - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть список списков, каждый из которых содержит четыре элемента.Для каждого списка в нем я хочу взять индексы 0 и 2, поместить их в список, а затем поместить все эти списки в один список списков.Итак, используя для циклов, я получил то, что хотел, выполнив это:

finallist = []
for i in range(len(weather_data)):
    templist = []
    templist.append(weather_data[i][0])
    templist.append(weather_data[i][2])
    finallist.append(templist)

, так что я получаю список вроде [['2018-02-01', -18.6], ['2018-02-02 ', -19,6], [' 2018-02-03 ', -22,3]].Но для этого задания я должен сделать это, используя одно понимание списка.Лучшее, что я могу получить, это:

 weekendtemps = [x[0] for x in weather_data if (x[1] == "Saturday" or x[1] == "Sunday")]

Но это только дает мне [['2018-02-01'], ['2018-02-2'], ['2018-02-03']].Как мне получить и weather_data [0], и weather_data [2], используя понимание списка?

1 Ответ

0 голосов
/ 07 февраля 2019

Почему бы и нет:

weekendtemps = [[x[0],x[2]] for x in weather_data if (x[1] == "Saturday" or x[1] == "Sunday")]

Или более эффективно:

weekendtemps = [[x[0],x[2]] for x in weather_data if x[1] in ['Saturday', 'Sunday']]
...