Python 过滤并结构化数据

  • Post category:Python

下面是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() 函数和字典、列表等数据结构来演示。

希望这些内容对你有所帮助。