Python 如何在列表中查找特定元素?

Python 如何在列表中查找特定元素?,python,list,Python,List,因此,我从csv文件中附加了一个巨大的数据列表(在本例中为3行->一行表示年份、月份,以及与之对应的值) 文件示例: 2001,01,65 2001,02,56 ..goes until December 2001 2002,01,45 2002,02,46 ..goes until December 2002 ( Almost 50 years of data just like this ) 我将这些值附加到一个列表中,并尝试为特定年份的每个月创建一个列表。比如说Jan,我怎样才能将Jan

因此,我从csv文件中附加了一个巨大的数据列表(在本例中为3行->一行表示年份、月份,以及与之对应的值) 文件示例:

2001,01,65
2001,02,56
..goes until December 2001
2002,01,45
2002,02,46
..goes until December 2002
( Almost 50 years of data just like this )
我将这些值附加到一个列表中,并尝试为特定年份的每个月创建一个列表。比如说Jan,我怎样才能将Jan的所有值附加到一个特定年份,比如说2000年。 希望这有意义

(请不要写很长的代码,也不要花很长的时间在上面工作。只有用一种文字的方式说,先做这个,然后再做那个,才会有帮助。)
我只是不知道如何在数据集合中查找特定元素。

您可以使用循环和if条件将其添加到单独的列表中:

for rows in myOriginalList:
    if row[0] == year and row[1] == month:
        newFilteredList.append(row)

如果您在一行中读取了年、月和值,并将它们存储在
年、月和值中:

filtered_list = []
query_year = 2000
query_month = 1
for year, month, value in zip(years, months, values):
    if int(year) == query_year and int(month) == query_month:
        filtered_list.append(int(value))    
您可以使用带有
if
子句的

csv_file = [
    "2001,01,65",
    "2001,01,23",
    "2001,02,56",
    "2002,01,45",
    "2002,02,46"
] # Just an example. In reality, you'll want to use open() on your actual file.

# prepare a CSV reader:
import csv
reader = csv.DictReader(csv_file, ['year', 'month', 'age'])

# read and filter the data:
january_2001_data = [row for row in reader
     if row['year'] == '2001' and row['month'] == '01']
# january_2001_data == [{'age': '65', 'month': '01', 'year': '2001'},
#                       {'age': '23', 'month': '01', 'year': '2001'}]

如果您的CSV文件非常非常非常庞大,您可能需要查看类似的内容。

“2001,01,65”-这是什么?2001-2001-01年-65个月-ageOk,因此您希望对2000年执行此操作,这不在示例文件中,并为每个月创建一个列表,尽管在示例中每个月只有一个条目。到目前为止,一切都很清楚。请告诉我们更多。我只是举一个例子,我的主要观点是在一个巨大的数据集合中找到一个特定的元素。你是说你的数据有3列,而不是3行吗?