📜  10 个有趣的 Python酷技巧(1)

📅  最后修改于: 2023-12-03 15:13:05.158000             🧑  作者: Mango

10个有趣的 Python 酷技巧

Python 是一门优雅且充满趣味的编程语言,开源社区也为它添加了许多优秀的库和工具。在这篇文章中,我们将探索 10 个有趣的 Python 酷技巧,它们将为您提供更愉悦的编码体验和更高效的开发速度。

1. 一行代码交换值

你可以在不使用临时变量的情况下快速交换两个变量的值:

x, y = y, x

这将把 xy 的值互换。

2. 一行代码合并两个列表

你可以使用列表解析来快速合并两个列表:

merged_list = [x for x in (list_one + list_two)]

这将把 list_onelist_two 合并成一个新列表 merged_list

3. 使用 enumerate() 获取索引和值

你可以使用 enumerate() 函数来同时获取列表的每个元素的值及其索引。这个技巧在需要遍历列表时非常有用:

my_list = ['apple', 'banana', 'orange']

for index, value in enumerate(my_list):
    print(index, value)

这将打印出:

0 apple
1 banana
2 orange
4. 使用 zip() 并行迭代多个列表

你可以使用 zip() 函数来并行迭代多个列表:

list_one = ['apple', 'banana', 'orange']
list_two = ['red', 'yellow', 'orange']

for item_one, item_two in zip(list_one, list_two):
    print(item_one, item_two)

这将打印出:

apple red
banana yellow
orange orange
5. 使用 * 星号解包列表

你可以使用 * 星号来解包列表:

my_list = [1, 2, 3]

print(*my_list)

这将打印出:

1 2 3
6. 一行代码反转字符串

你可以使用切片来反转字符串:

my_string = 'hello world'

print(my_string[::-1])

这将打印出:

dlrow olleh
7. 一行代码生成随机密码

你可以使用 secrets 模块和列表解析来生成随机密码:

import secrets
import string

alphabet = string.ascii_letters + string.digits

password = ''.join(secrets.choice(alphabet) for i in range(10))

这将生成一个包含字母和数字的随机密码,长度为 10。

8. 一行代码计算列表中元素的出现次数

你可以使用列表解析和 count() 函数来计算列表中元素的出现次数:

my_list = [1, 2, 2, 3, 3, 3]

count_dict = {x:my_list.count(x) for x in my_list}

print(count_dict)

这将打印出一个字典,其中每个元素是列表中的一个值,每个值是该元素在列表中出现的次数:

{1: 1, 2: 2, 3: 3}
9. 一行代码生成 Fibonacci 数列

你可以使用列表解析和 reduce() 函数来生成 Fibonacci 数列:

from functools import reduce

fibonacci = lambda n: reduce(lambda x, _: x + [x[-2] + x[-1]], range(n-2), [0, 1])

print(fibonacci(10))

这将生成一个长度为 10 的 Fibonacci 数列。

10. 一行代码创建迭代器

你可以使用生成器函数来创建一个迭代器:

my_list = [1, 2, 3]

my_iterator = (x for x in my_list)

print(next(my_iterator))  # 1
print(next(my_iterator))  # 2
print(next(my_iterator))  # 3

这将打印出列表中的每个元素,即 1、2 和 3。

这是 10 个有趣的 Python 酷技巧。它们可以提高您的编码速度和效率。享受它们吧!