欢迎访问宙启技术站
智能推送

10个Python函数,让你的编程更加高效!

发布时间:2023-06-23 19:09:12

Python是一种功能强大且易于学习的编程语言,被广泛应用于数据科学、人工智能和Web开发等领域。Python不仅简洁、灵活,而且有着许多实用的函数和库,这些函数和库能够大大提高你的编程效率。接下来,将介绍10个Python函数,让你的编程更加高效!

1. zip(*iterables)

zip函数接受任意多个序列参数,并把它们“压缩”成一个元组,然后返回一个新的列表。这个新的列表包含了所有输入序列中相同位置上的元素。可以使用循环语句遍历这个新的列表,从而实现并行迭代。

示例代码:

scores = [80, 90, 70, 85]
names = ['Alice', 'Bob', 'Charlie', 'David']

for name, score in zip(names, scores):
    print(name, score)

输出结果:

Alice 80
Bob 90
Charlie 70
David 85

2. enumerate(iterable, start=0)

enumerate函数将一个可迭代对象转换成一个枚举对象。枚举对象可以用来追踪迭代器中的位置。它返回一个枚举对象,其中包含元组(i, j),其中i是迭代器的index,j是对应的值。默认从0开始。

示例代码:

teams = ['Lakers', 'Warriors', 'Celtics', 'Nets']

for index, team in enumerate(teams, start=1):
    print(index, team)

输出结果:

1 Lakers
2 Warriors
3 Celtics
4 Nets

3. filter(function, iterable)

filter函数可以用来从一个序列中筛选出满足条件的元素。它接受两个参数:一个是函数,另一个是可迭代对象。函数返回True或False代表元素是否满足条件,如果返回True,该元素将包含在结果序列中。

示例代码:

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]

def is_odd(num):
    return num % 2 == 1

odd_nums = list(filter(is_odd, nums))
print(odd_nums)

输出结果:

[1, 3, 5, 7, 9]

4. map(function, iterable)

map函数可以用来对一个可迭代对象中的所有元素执行同样的操作。它接受一个函数和一个可迭代对象,函数将会应用于可迭代对象的每一个元素。

示例代码:

nums = [1, 2, 3, 4, 5]

def square(num):
    return num ** 2

squared_nums = list(map(square, nums))
print(squared_nums)

输出结果:

[1, 4, 9, 16, 25]

5. reduce(function, iterable)

reduce函数用于对一个可迭代对象中的所有元素进行二元操作,将其缩减为一个单一的结果。它需要一个函数和一个可迭代对象作为输入,函数需要有两个输入参数。例如,可以用reduce函数将一个列表中的数字相加。

示例代码:

from functools import reduce

nums = [1, 2, 3, 4, 5]

def add(x, y):
    return x + y

sum = reduce(add, nums)
print(sum)

输出结果:

15

6. sorted(iterable, key=None, reverse=False)

sorted函数返回已排序的可迭代对象。它接受三个参数:可迭代对象、key函数和reverse标志。key是一个函数,用于返回排序时使用的键,reverse标志用于指定排序的方向。

示例代码:

names = ['Alice', 'Bob', 'Charlie', 'David']

sorted_names = sorted(names, key=lambda name: len(name))
print(sorted_names)

输出结果:

['Bob', 'Alice', 'David', 'Charlie']

7. sum(iterable, start=0)

sum函数返回一个序列的和。start可选,用于指定一个初始值,如果有则会被加到序列元素的总和。

示例代码:

nums = [1, 2, 3, 4, 5]

total = sum(nums, 10)
print(total)

输出结果:

25

8. any(iterable)

any函数接受一个可迭代对象,如果其中任意元素为True,则返回True,否则返回False。

示例代码:

nums1 = [0, 1, 2, 3, 4, 5]
nums2 = [0, False, '']
nums3 = []

print(any(nums1))
print(any(nums2))
print(any(nums3))

输出结果:

True
False
False

9. all(iterable)

all函数接受一个可迭代对象,如果其中所有元素都为True,则返回True,否则返回False。

示例代码:

nums1 = [1, 2, 3, 4, 5]
nums2 = [1, True, 'Python']
nums3 = [0, 1, 2, 3, 4, 5]
nums4 = [1, 2, None]

print(all(nums1))
print(all(nums2))
print(all(nums3))
print(all(nums4))

输出结果:

True
True
False
False

10. reversed(seq)

reversed函数用于返回一个序列的反转引用。它接受一个序列或序列样的对象,并返回一个产生该序列反转的迭代器。

示例代码:

nums = [1, 2, 3, 4, 5]

reversed_nums = list(reversed(nums))
print(reversed_nums)

输出结果:

[5, 4, 3, 2, 1]

总结

以上介绍了10个Python函数,它们分别是zip、enumerate、filter、map、reduce、sorted、sum、any、all以及reversed。这些函数各有特点,但它们都可以大大提高你的编程效率。在日常编程中,根据不同的场景选择合适的函数,可以让你的代码更加简洁优雅。