分享

14 个好用到爆的 Python 实用技巧!

 YU304jx 2023-10-06 发布于江苏

Python 是一门强大而灵活的编程语言,拥有众多的特性和库,可以帮助你更高效地完成编程任务。

在本文中,我们将介绍16个实用的 Python 技巧,这些技巧可以让你的编码更简洁、更高效。让我们一起来看看吧!

1

使用列表解析简化循环

列表解析是一种用于创建新列表的紧凑方式,它可以大大减少循环的代码量。例如,如果要创建一个包含 1 到 10 的平方的列表,可以这样做:

squares = [x**2 for x in range(111)]

2

交换变量的值

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

a, b = b, a

3

使用 f-字符串格式化文本

f-字符串是一种在字符串中插入变量值的简便方法。只需在字符串前加上 'f' 并将变量放在花括号内即可:

name = "Alice"greeting = f"Hello, {name}!"

4

遍历字典的键和值

要同时遍历字典的键和值,你可以使用 items() 方法:

my_dict = {"a": 1, "b": 2, "c": 3}for key, value in my_dict.items():    print(f"Key: {key}, Value: {value}")

5

使用枚举获取索引

如果要在循环中获取列表或其他可迭代对象的索引,可以使用 enumerate() 函数:

my_list = ["apple", "banana", "cherry"]for index, item in enumerate(my_list):    print(f"Index: {index}, Item: {item}")

6

使用 zip 合并多个列表

zip 函数可以将多个列表组合成一个元组的列表:

list1 = [1, 2, 3]list2 = ["a", "b", "c"]zipped = list(zip(list1, list2))

7

使用 in 检查元素是否在列表中

要检查元素是否在列表中,可以使用 in 关键字:

fruits = ["apple", "banana", "cherry"]if "apple" in fruits:    print("Yes, 'apple' is in the fruits list.")

8

列表切片

列表切片允许你获取列表的子集。例如,要获取列表的前三个元素:

my_list = [1, 2, 3, 4, 5]subset = my_list[:3]

9

使用 any() 和 all() 函数

any() 函数用于检查可迭代对象中是否至少有一个元素为真,而 all() 函数用于检查可迭代对象中的所有元素是否都为真。

numbers = [1, 2, 3, 4, 5]has_even = any(x % 2 == 0 for x in numbers)all_positive = all(x > 0 for x in numbers)

10

用 collections.Counter 计算元素频率

collections.Counter 类可用于计算可迭代对象中元素的频率:

from collections import Counter
my_list = ["a", "b", "a", "c", "b", "a"]counter = Counter(my_list)# 输出: Counter({'a': 3, 'b': 2, 'c': 1})

11

使用 defaultdict 处理缺失键

collections.defaultdict 类可以创建一个字典,其中缺失的键将有一个默认值:

from collections import defaultdict
my_dict = defaultdict(int)my_dict["a"] += 1  # 不需要检查键是否存在

12

一行代码生成器表达式

 

生成器表达式是生成迭代器的紧凑方式,占用更少的内存:

squared_gen = (x**2 for x in range(1, 11))

13

查看对象属性

有没有想过如何查看 Python 对象内部并查看它具有哪些属性?在命令行中输入:

dir() dir("Hello World") dir(dir)

14

生成表情包

emoji 是日本在无线通信中所使用的视觉情感符号,绘指图画,文字指的则是字符,可用来代表多种表情,如笑脸表示笑、蛋糕表示食物等。在中国大陆,emoji通常叫做“小黄脸”,或者直称emoji。

# 安装模块pip install emoji# 做个尝试from emoji import emojizeprint(emojize(":thumbs_up:"))

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多