下面是Python 过滤并结构化数据的完整攻略。
1. Python 过滤数据
在Python中,可以通过 filter()
函数来快速过滤数据。
filter()
函数接受两个参数:一个函数和一个可迭代对象。对于可迭代对象中的每个元素,filter()
都会调用一次函数,判断该元素是否应该保留。如果返回值为True,则该元素被保留;如果返回值为False,则该元素被过滤掉。
下面是一个示例代码,通过 filter()
函数过滤出列表中的偶数:
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def is_even(num):
return num % 2 == 0
even_nums = list(filter(is_even, nums))
print(even_nums) # 输出 [2, 4, 6, 8, 10]
在上面的代码中,我们定义了一个 is_even()
函数,用于判断一个数是否为偶数。然后使用 filter()
函数过滤出列表中的偶数,最后通过 list()
函数将过滤结果转换为列表。
2. Python 结构化数据
在Python中,可以使用字典和列表来结构化数据。
2.1 字典
字典用于存储键值对,可以通过键来访问值。
下面是一个示例代码,使用字典来存储一个人的信息:
person = {
'name': 'Tom',
'age': 20,
'gender': 'Male',
'address': 'Beijing'
}
print(person['name']) # 输出 Tom
print(person['age']) # 输出 20
在上面的代码中,我们定义了一个名为 person
的字典,存储了一个人的信息。使用键来访问值,例如 person['name']
返回字典中键为 'name'
对应的值。
2.2 列表中的字典
在实际开发中,常常需要将多个字典或其他类型的数据结构组合成一个列表。例如,我们可以将多个人的信息组合成一个列表。
下面是一个示例代码,使用列表和字典组合存储多个人的信息:
people = [
{
'name': 'Tom',
'age': 20,
'gender': 'Male',
'address': 'Beijing'
},
{
'name': 'Lucy',
'age': 24,
'gender': 'Female',
'address': 'Shanghai'
},
{
'name': 'Jack',
'age': 18,
'gender': 'Male',
'address': 'Guangzhou'
}
]
for person in people:
print(person['name'], person['age'], person['gender'], person['address'])
在上面的代码中,我们定义了一个名为 people
的列表,每个元素都是一个字典,存储一个人的信息。使用 for
循环遍历列表中的每个元素,使用键来访问字典中的值,打印出每个人的信息。
总结
Python过滤并结构化数据非常方便,只需要使用内置函数和数据结构即可。以上攻略中,我们使用了 filter()
函数和字典、列表等数据结构来演示。
希望这些内容对你有所帮助。