python列表理解:从列表列表中的每个列表中生成多个项目的列表

2024-10-03 02:48:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个清单,每个清单有四个项目。对于其中的每个列表,我想获取索引0和索引2,将它们放在一个列表中,然后将所有这些列表放在一个列表列表中。所以,使用for循环,我得到了我想要的:

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']]。如何使用列表理解获取天气数据[0]和天气数据[2]?你知道吗


Tags: 数据项目in列表fordatalen作业
1条回答
网友
1楼 · 发布于 2024-10-03 02:48:21

为什么不:

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']]

相关问题 更多 >