每个程序员都必须知道的22个Python单行代码是一个相对主观的列表,因为不同的程序员可能会根据自己的经验和需求来定义哪些代码是“必须知道”的。不过,我可以根据Python的常用性和实用性,为你提供一系列非常有用且简洁的Python单行代码及其源码,这些代码能够帮助你更高效地编写Python程序。
CSDN大礼包:《2024年最新全套学习资料包》免费分享
1. 列表推导式
squares = [i ** 2 for i in range(1, 11)]
print(squares) # 输出: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
列表推导式提供了一种简洁高效的方式来创建列表。
2. 使用reduce
函数进行累积计算
from functools import reduce
from operator import add
cum_sum = reduce(add, range(1, 10))
print(cum_sum) # 输出: 45
reduce
函数结合operator
模块可以实现数字的累积计算。
3. Lambda函数排序
names = [(1, 'Jack'), (2, 'Alex'), (3, 'Bob')]
sorted_names = sorted(names, key=lambda x: x[1])
print(sorted_names) # 输出: [(2, 'Alex'), (3, 'Bob'), (1, 'Jack')]
Lambda函数可以在单行中使用,非常适合作为排序的键函数。
4. 合并多个字典
info1 = {'name': 'Jack', 'age': 28}
info2 = {'gender': 'Male', 'city': 'San Francisco'}
person_info = {**info1, **info2}
print(person_info) # 输出: {'name': 'Jack', 'age': 28, 'gender': 'Male', 'city': 'San Francisco'}
通过**
前缀,可以轻松地将多个字典合并为一个字典。
5. 字典推导式
keys = ['name', 'age', 'gender']
values = ['Jackzhang', 28, 'Male']
person_info = {key: value for key, value in zip(keys, values)}
print(person_info) # 输出: {'name': 'Jackzhang', 'age': 28, 'gender': 'Male'}
字典推导式提供了从可迭代对象中创建字典的简洁方式。
6. 查找字典中的最大值
d = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
max_key = max(d, key=lambda x: d[x])
print(max_key) # 输出: e
使用max
函数和lambda表达式可以找到字典中值最大的键。
7. 检查子串是否在字符串中
is_contain = 'Python' in "I'm Jackzhang, I love Python"
print(is_contain) # 输出: True
单行检查子串是否在字符串中。
8. 反转字符串
reversed_string = "Hello World"[::-1]
print(reversed_string) # 输出: dlroW olleH
通过切片操作反转字符串。
9. 交换两个变量的值
a, b = b, a
print(a, b) # 假设a和b之前分别被赋值为5和4,则输出: 4 5
利用多重赋值特性交换两个变量的值。
10. 列表扁平化
nested_list = [[1, 2], [3, 4], [5, 6]]
flattened_list = [item for sublist in nested_list for item in sublist]
print(flattened_list) # 输出: [1, 2, 3, 4, 5, 6]
列表推导式用于扁平化嵌套列表。
11. 获取列表的唯一元素
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_elements = list(set(my_list))
print(unique_elements) # 输出: [1, 2, 3, 4, 5]
利用集合去重获取列表的唯一元素。
12. 找出列表中出现次数最多的元素
my_list = [1, 2, 2, 3, 4, 4, 4, 5]
most_frequent = max(set(my_list), key=my_list.count)
print(most_frequent) # 输出: 4
使用集合去重和max
函数结合count
方法找出列表中出现次数最多的元素。
13. 计算列表中元素的总和
my_list = [1, 2, 3, 4, 5]
total_sum = sum(my_list)
print(total_sum) # 输出: 15
使用内置的sum
函数计算列表元素的总和。
14. 找出两个列表的交集
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
intersection = list(set(list1) & set(list2))
print(intersection) # 输出: [3, 4, 5]
将两个列表转换为集合后取交集,再转换回列表。
15. 条件表达式
status = "Success" if condition else "Failure"
# 假设condition为True,则输出: Success
使用条件表达式(也称为三元运算符)进行简洁的条件判断。
16. 列表中每个元素加1
my_list = [1, 2, 3, 4, 5]
incremented_list = [x + 1 for x in my_list]
print(incremented_list) # 输出: [2, 3, 4, 5, 6]
通过列表推导式对列表中的每个元素进行操作。
17. 按值对字典进行排序
my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_dict = {k: v for k, v in sorted(my_dict.items(), key=lambda item: item[1])}
print(sorted_dict) # 输出: {'pear': 1, 'orange': 2, 'banana': 3, 'apple': 4}
按字典的值对字典进行排序。
18. 读取文件
with open("data.txt", "r") as file:
data = [line.strip() for line in file]
print(data) # 输出文件内容列表
单行读取文件内容并去除每行末尾的换行符。
19. 映射函数
result = list(map(lambda a: a + 2, [1, 2, 3, 4, 5]))
print(result) # 输出: [3, 4, 5, 6, 7]
使用map
函数和lambda表达式对列表中的每个元素进行映射操作。
20. 过滤列表
mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_list = [x for x in mylist if x % 2 == 0]
print(filtered_list) # 输出: [2, 4, 6, 8, 10]
通过列表推导式过滤列表中的元素。
21. 递归函数
def fib(n):
return n if n <= 1 else fib(n-1) + fib(n-2)
print(fib(10)) # 输出: 55
虽然递归函数不一定非要写在一行内,但这里展示了一个简单的斐波那契数列的递归实现。
22. 使用enumerate
创建字典
mylist = ['a', 'b', 'c', 'd']
mydict = dict(enumerate(mylist))
print(mydict) # 输出: {0: 'a', 1: 'b', 2: 'c', 3: 'd'}
使用enumerate
函数和dict
构造函数将列表转换为字典,其中列表的索引作为字典的键。
请注意,这22个代码示例并不是绝对固定的,每个程序员可能根据自己的需求和经验有不同的偏好。此外,随着Python的更新和发展,新的功能和技巧也
关于Python学习指南
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
**全套Python学习资料分享:
👉Python所有方向的学习路线👈
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)
👉学习软件
👉全套PDF电子书
👉实战案例
👉Python副业兼职路线&方法👈
学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。
👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费
】