搜索
查看: 28|: 0

一次掌握10个Python小技巧,让你的代码优雅到飞起!

[复制链接]

8

主题

1

回帖

450

积分

中级会员

积分
450
发表于 2025-6-12 11:18:27 | 显示全部楼层 |阅读模式
1. 一行代码实现变量互换
想象一下,你有两个变量,一个是字符串 "text",一个是整数 100,如果想要交换它们的值,传统的方法可能需要借助一个临时变量,比如这样:

  1. <div>temp = a
  2. a = b
  3. b = temp</div>
复制代码


但在 Python 里,我们可以用一行代码搞定:
  1. a, b = b, a
复制代码

这样,a 和 b 的值就直接互换了!

甚至,你可以用同样的方式交换三个变量:
  1. a, b, c = c, b, a
复制代码


是不是超级方便?

2. 颠倒字符串和列表
有时候,我们需要把一个字符串或者列表的顺序颠倒,Python 提供了一个简单的方法:

  1. <div>reversed_list = my_list[::-1]  # 颠倒列表
  2. reversed_string = my_string[::-1]  # 颠倒字符串</div>
复制代码


这比使用 reversed() 方法更加简洁直观。

3. 让字符串“无限”重复
如果你想快速生成多个相同的字符串,例如打印 20 个 "A",你可能会这样写:
  1. shout = "A" * 20
复制代码


结果就是 "AAAAAAAAAAAAAAAAAAAA"。如果你想重复整个单词,比如 "Hello" 5 次:
  1. result = "Hello " * 5
复制代码

输出:Hello Hello Hello Hello Hello

是不是比手动拼接更高效?

4. 一行代码搞定条件判断
通常,我们会用 if-else 来判断一个数是奇数还是偶数:

  1. <div>num = 10
  2. if num % 2 == 0:
  3.     result = "偶数"
  4. else:
  5.     result = "奇数"</div>
复制代码


但你可以直接写成一行:
  1. result = "偶数" if num % 2 == 0 else "奇数"
复制代码

Python 让代码变得更简洁直观!

5. 一行代码合并字符串
假设你有一组邮箱地址的列表,现在你想把它们拼接成一条 , 分隔的字符串:

  1. <div>emails = ["a@example.com", "b@example.com", "c@example.com"]
  2. result = ", ".join(emails)
  3. print(result)</div>
复制代码


输出:a@example.com, b@example.com, c@example.com

使用 join() 方法可以避免手动拼接字符串,提高代码的可读性。

6. 更安全地获取字典中的值
在操作 Python 字典时,如果你尝试访问一个不存在的键,Python 会抛出 KeyError,但你可以使用 .get() 方法安全获取值:

  1. <div>data = {"name": "Alice", "age": 25}
  2. age = data.get("age", "默认值")  # 如果 'age' 存在,则返回其值,否则返回 '默认值'
  3. print(age)  # 输出 25</div>
复制代码


7. 自动创建字典默认值
如果你要读取某个字典的键,并希望在键不存在时设置默认值,你可以使用 setdefault() 方法:

  1. <div>scores = {"Alice": 90, "Bob": 85}
  2. bob_score = scores.setdefault("Bob", 0)  # 如果 Bob 存在,则返回其值,否则设置为 0
  3. james_score = scores.setdefault("James", 0)  # James 不存在,则创建键并设为 0
  4. print(scores)  # 输出 {'Alice': 90, 'Bob': 85, 'James': 0}</div>
复制代码



8. 统计列表中元素出现的次数
假设你有一个列表,想知道其中某个元素出现的次数,最简单的方法是使用 collections.Counter:

  1. <div>from collections import Counter

  2. letters = ["a", "b", "c", "a", "b", "a"]
  3. counter = Counter(letters)

  4. print(counter)  # 输出 {'a': 3, 'b': 2, 'c': 1}
  5. print(counter.most_common(1))  # 获取出现次数最多的元素 [('a', 3)]</div>
复制代码



9. 给 enumerate() 设置起始值
通常,我们在遍历列表时会使用 enumerate(),默认情况下,它从 0 开始计数:

  1. <div>names = ["Alice", "Bob", "Charlie"]
  2. for index, name in enumerate(names):
  3.     print(index, name)
  4. AI写代码
  5. 但如果你想让索引从 1 开始,可以这样做:

  6. for index, name in enumerate(names, start=1):
  7.     print(index, name)

  8. 输出:

  9. 1 Alice
  10. 2 Bob
  11. 3 Charlie</div>
复制代码


10. 一行代码合并两个字典
如果你想合并两个字典,传统方法是:

  1. <div>dict1 = {"a": 1, "b": 2}
  2. dict2 = {"c": 3, "d": 4}
  3. merged = {**dict1, **dict2}</div>
复制代码

但 Python 3.9 以后,你可以用 | 运算符更简洁地合并字典:


  1. <div>merged = dict1 | dict2</div>
复制代码


这样,你就得到了合并后的字典!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2025-7-2 21:54 , Processed in 0.090549 second(s), 25 queries .

快速回复 返回顶部 返回列表