Python黑魔法揭秘:超强公共操作符和推导式的编程技巧-1

简介: Python黑魔法揭秘:超强公共操作符和推导式的编程技巧-1

前言

公共操作符和推导式是 Python 编程中的两个精华部分,它们能够大幅简化代码并提高开发效率。


那么今天我带大家深入探索 Python 中的公共操作符和推导式,带您一窥其背后的神奇力量。我们将学习如何使用公共操作符来进行常见的数据操作,例如比较、逻辑运算和成员关系判断。这些操作符能够快速且简洁地处理数据,使我们能够更加高效地编写代码。


除了公共操作符,推导式也是 Python 编程中的一项强大技巧。推导式允许我们以精简的语法生成新的数据结构,如列表、字典和集合。通过推导式,我们能够更加简洁地创建和操作数据,减少冗余代码,使程序更加清晰易读。


让我们一起揭开 Python 公共操作符和推导式的神秘面纱,探索它们的魔力,并将其应用于您的下一个编程项目吧!启程吧,进入这个令人激动的 Python 编程世界吧!

公共操作

1.运算符

运算符 描述 支持的容器类型
+ 合并 字符串、列表、元组
* 复制 字符串、列表、元组
in 元素是否存在 字符串、列表、元组、字典
not in 元素是否不存在 字符串、列表、元组、字典


1)+ 合并操作

合并操作能够将两个相同的容器类型合并成一个容器。

str1 = 'zhangsan'
str2 = 'lisi'
list1 = [1,2,3]
list2 = [4,5,6]
t1 = (1,2,3)
t2 = (4,5,6)
str3 = str1 + str2
list3 = list1 + list2
t3 = t1 + t2
print(str3)
print(list3)
print(t3)

2)* 复制操作

复制操作能够将一个容器里面的数据复制 n 份。

str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
str2 = str1 * 3
list2 = list1 * 3
t2 = t1 * 3
print(str2)
print(list2)
print(t2)

in / not in 判断数据在 / 不在容器中

str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
print('h' in str1)
print('h' not in str1)
print(1 in list1)
print(1 not in list1)
print(7 in t1)
print(7 not in t1)

公共方法

函数 描述
len() 计算容器中元素的个数
del 或 del() 删除
max() 返回容器中元素最大值
min() 返回容器中元素最小值
range(start,end,step) 生成从start到end(不包括end),步长为step的数字,供for循环使用
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for 循环当中。


len()

len方法返回序列中元素的个数。

str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
print(len(str1))
print(len(list1))
print(len(t1))

del / del()

del 或 del() 用来删除序列或者序列中的元素。

str1 = 'hello'
del str1
print(str1)

list1 = [1,2,3]
del(list1[0])
print(list1)


注意 python 字符串和元组是不可变类型,要想删除只能删除全部,不能单独删除其中的某个数据。

max()

max返回容器中最大的元素

str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
print(max(str1))
print(max(list1))
print(max(t1))

min()

min方法容器中最小的元素

str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
print(min(str1))
print(min(list1))
print(min(t1))

range()

range方法生成从start开始到end(不包括end)的步长为step的数字,供fro循环使用。

for i in range(0,10,1):
    print(i,end = '\t')


for i in range(0,10,2):
    print(i,end = '\t')

当省略start时,默认从0开始,省略步长,默认步长为1。

for i in range(10):
    print(i,end = '\t')


enumerate()

enumerate(可遍历对象,start = 0)

函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for 循环当中。

list1 = ['a','b','c','d','e']
for i in enumerate(list1):
    print(i)

list1 = ['a','b','c','d','e']
for index,i in enumerate(list1,start = 1):
    print(f'下标是:{index},对应字符是:{i}')

容器类型转换

1)list() 将某个序列转化为列表

str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
set1 = {80,90,100}
print(list(str1))
print(list(t1))
print(list(set1))

tuple() 将某个序列转换为元组

str1 = 'hello'
list1 = [1,2,3]
t1 = (4,5,6)
set1 = {80,90,100}
print(tuple(str1))
print(tuple(list1))
print(tuple(set1))

set() 将某个序列转换为集合

str1 = 'hello'
list1 = [1,2,3,1]
t1 = (4,5,6,6)
set1 = {80,90,100}
print(set(str1))
print(set(list1))
print(set(t1))

因为集合具有去重功能,所以在转换为集合的时候,会对里面的数据进行去重。

推导式

在Python中,推导式(comprehension)是一种从一个或多个迭代器快速创建可迭代数据对象的方式,如列表、字典、集合等。


推导式极大地简化了代码,有助于读写简洁而高效的Python代码,并且在性能上优于传统的for循环。


本篇博客中,我将为大家说明列表推导式、字典推导式和集合推导式。

列表推导式

我们生成一个 0-10 的列表。

我们先看看如何使用原始循环方式来生成。

# 先创建一个空列表
list1 = []
for i in range(11):
    list1.append(i)
print(list1)

使用递推公式生成。

list1 = [i for i in range(11)]
print(list1)


这样一看,很明显,对推公式的代码简洁的很多。

不仅如此,递推公式还可以使用 if 条件来进行筛选。


if 条件筛选

生成0 - 10之间偶数组成的列表。

list1 = [i for i in range(11) if i % 2 == 0]
print(list1)

递推公式还可以使用多个 for 循环。

list1 = [(i,j) for i in range(1,3) for j in range(4)]
print(list1)

字典递推式

生成一个简单的字典,key为1-5之间的数字,value为对应的数字的平方。

dict1 = {i:i**2 for i in range(1,6)}
print(dict1)

快速合并两个列表

list1 = ['name','age','gender']
list2 = ['zhangsan',18,'man']
dict1 = {list1[i]:list2[i] for i in range(len(list1))}
print(dict1)

当两个列表的长度不相同时,应该以长度较短的列表的长度作为range的参数,否则会导致另一个列表下标越界。

集合推导式

list1 = {2,2,3,4,5}
set1 = {i**2 for i in list1}
print(set1)

时刻记住集合具有去重的特性。

相关文章
|
5天前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
23天前
|
Python
探索Python中的列表推导式
【10月更文挑战第20天】在编程世界里,时间就是一切。Python的列表推导式是节约时间、简化代码的一大利器。本文将带你深入理解并有效利用这一强大工具,从基础到高级用法,让你的代码更加简洁高效。
|
21天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
22天前
|
C语言 开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第21天】在Python的世界里,代码的优雅与效率同样重要。列表推导式(List Comprehensions)作为一种强大而简洁的工具,允许开发者通过一行代码完成对列表的复杂操作。本文将深入探讨列表推导式的使用方法、性能考量以及它如何提升代码的可读性和效率。
|
28天前
|
数据处理 开发者 Python
Python中的列表推导式:一种优雅的代码简化技巧####
【10月更文挑战第15天】 本文将深入浅出地探讨Python中列表推导式的使用,这是一种强大且简洁的语法结构,用于从现有列表生成新列表。通过具体示例和对比传统循环方法,我们将揭示列表推导式如何提高代码的可读性和执行效率,同时保持语言的简洁性。无论你是Python初学者还是有经验的开发者,掌握这一技能都将使你的编程之旅更加顺畅。 ####
33 1
|
1月前
|
开发者 Python
探索Python中的列表推导式:简化代码的利器
在Python编程中,列表推导式是一种简洁而强大的工具,它允许开发者以一行代码实现复杂的列表操作。本文将深入探讨列表推导式的语法、优势以及实际应用,帮助读者更好地利用这一特性来优化代码。
|
1月前
|
大数据 数据处理 Python
探索Python中的列表推导式
【10月更文挑战第6天】 在Python编程中,列表推导式(List Comprehension)是一种简洁而强大的工具,用于生成列表。通过结合循环和条件语句,列表推导式可以在一行代码中实现复杂的列表操作。本文将深入探讨列表推导式的语法、常见用法以及一些高级技巧,帮助你更有效地使用这一特性。
17 1
|
19天前
|
C语言 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第24天】在Python编程的世界中,追求代码的简洁性和可读性是永恒的主题。列表推导式(List Comprehensions)作为Python语言的一个特色功能,提供了一种优雅且高效的方法来创建和处理列表。本文将深入探讨列表推导式的使用场景、语法结构以及如何通过它简化日常编程任务。
|
1月前
|
存储 大数据 数据处理
Python 中的列表推导式与生成器:特性、用途与区别
Python 中的列表推导式与生成器:特性、用途与区别
24 2
|
1月前
|
索引 Python
Python列表操作-推导式(List Comprehension)
Python列表操作-推导式(List Comprehension)