不容错过的 30 个 Python 单行代码,高效简洁的代码技巧

在这里插入图片描述
Python 被广泛认为是最易学的编程语言之一,以其简洁性、可读性和多功能性著称。Python 的一个关键特性是它能够通过简短且可读的单行代码完成复杂操作。接下来示例30 个必备的 Python 单行代码,它们可以帮助你编写更简洁、高效的代码。无论你是初学者还是有经验的开发者,这些单行代码都能优化你的编码流程。

一:列表推导式

列表推导式为创建列表提供了一种简洁的方式,使代码更简练和易读。

[x**2 for x in range(1, 11)]

这一行代码生成了一个从 1 到 10 的数字的平方列表,避免了使用循环。

二:使用reduce 计算阶乘

用 reduce() 函数,可以在一行代码中计算一个数的阶乘。

from functools import reduce
reduce(lambda x, y: x * y, range(1, 6))

述示例中的一行代码使用 reduce() 计算 5 的阶乘。

三:使用Lambda 函数进行排序

Lambda 函数能够快速且简洁地对列表进行排序。

tuples_list = [(1, 'a'), (3, 'c'), (2, 'b')]
sorted(tuples_list, key=lambda x: x[1])

面示例使用 lambda 函数根据元组的第二个元素对列表进行排序。

四:合并两个字典

使用 Python 的字典推导式,可以轻松地合并字典。

dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
{**dict1, **dict2}

一行代码将两个字典合并成一个字典。

五:字典推导式

使用字典推导式可以在一行代码中从列表创建字典。

keys = ['a', 'b', 'c']
values = [1, 2, 3]
{keys[i]: values[i] for i in range(len(keys))}

示例中的一行代码将两个列表映射到一个字典中。

六:在字典中找到最大值

轻松找到字典中具有最高值的键。

d = {'a': 1, 'b': 2, 'c': 3}
max(d, key=lambda k: d[k])

这一行代码检索字典中具有最大值的键。

七:检查子字符串是否存在

在一行代码中检查一个子字符串是否存在于一个字符串中。

"Python" in "I love Python programming"

八:通过切片反转字符串

你可以使用切片反正字符串,并轻松检查一个字符串是否是Palindrome 。

is_palindrome = lambda s: s == s[::-1]
print(is_palindrome("radar"))

这一行代码通过反转字符串来检查它是否是Palindrome 。

九:反转字典

通过交换键和值来反转字典。

{v: k for k, v in {'a': 1, 'b': 2, 'c': 3}.items()}

十:使用 zip() 配对元素

轻松将多个列表中的元素配对成元组。

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
list(zip(names, ages))

十一:找出两个列表的交集

使用集合操作找到两个列表之间的共同元素。

set([1, 2, 3]) & set([2, 3, 4])

十二:使用 any() 和 all() 进行条件检查

检查列表中的任意或所有元素是否满足特定条件。

values = [1, 2, 3, 4]
print( any(x > 3 for x in values) )
print( all(x > 0 for x in values) )

十三:从两个列表生成字典

使用 zip() 函数从两个列表创建一个字典。

keys = ['a', 'b', 'c']
values = [1, 2, 3]
dict(zip(keys, values))

十四:使用 map() 转换列表

通过 map() 函数将一个函数应用于列表中的每个项目。

strings = ["hello", "world"]
list(map(str.upper, strings))

十五:查找元素的索引

在列表中找到特定元素的索引。

[1, 2, 3, 4, 5].index(3)

十六:一行代码中的嵌套循环

使用列表推导式在一行代码中编写嵌套循环。

list1 = [1, 2, 3]
list2 = ['a', 'b']
[(x, y) for x in list1 for y in list2]

十七:筛选偶数

使用列表推导式从列表中过滤出偶数。

[x for x in range(1, 21) if x % 2 == 0]

十八:获取唯一元素的列表

使用 Python 的 set() 函数从列表中提取唯一元素。

list(set([1, 2, 2, 3, 4, 4, 5]))

十九:将列表转换为字符串

使用 join() 将列表合并成一个字符串。

list1 = ['Python', 'is', 'fun']
" ".join(list1)

二十:逐行读取文件

使用简单的列表推导式从文件中读取行。

[line.strip() for line in open("iris.csv")]

二十一:替换子字符串

使用 replace() 方法替换字符串中的部分内容。

"I like Python".replace("like", "love")

二十二:扁平化嵌套列表

将嵌套列表展平为单一列表。

nested_list = [[1, 2], [3, 4], [5, 6]]
[item for sublist in nested_list for item in sublist]

二十三:查找列表中出现频率最高的元素

使用 max() 函数和 key 参数轻松找到列表中出现频率最高的元素。

num_list=[1, 2, 2, 3, 3, 3, 4, 4]
max(num_list, key=num_list.count)

二十四:反转列表

使用 Python 的切片技术反转列表中的元素。

[1, 2, 3, 4, 5][::-1]

二十五:将字符串列表转换为整数

使用 map() 将字符串列表转换为整数。

str_list = ['1', '2', '3']
list(map(int, str_list))

二十六:查找列表中的重复元素

使用集合操作识别列表中的重复元素。

num_list=[1, 2, 2, 3, 3, 3, 4, 4]
list(set([x for x in num_list if num_list.count(x) > 1]))

二十七:检查所有元素是否唯一

通过将列表的长度与集合的长度进行比较来检查列表中所有元素是否唯一。

num_list=[1, 2, 2, 3, 3, 3, 4, 4]

len(num_list) == len(set(num_list))

二十八:将每个单词的首字母大写

使用 Python 的 title() 方法将字符串中每个单词的首字母大写。

"python programming is fun".title()

二十九:求字典中所有值的和

使用 sum() 函数求字典中所有值的和。

my_dict = {'a': 1, 'b': 2, 'c': 3}
sum(my_dict.values())

三十:找出句子中每个单词的长度

使用列表推导式找出字符串中每个单词的长度。

sentence = "Python is amazing"
[len(word) for word in sentence.split()]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值