Python中的`in`与`not in`关键词、f-string格式化输出详解以及列表操作技巧(包括索引、计数、切片和增删操作)
in和not in
是 Python 中的成员运算符,用来判断对象在可迭代对象里是否存在
in 运算符
如果存在则返回 True,否则返回 False

检查某个值(value)是否存在于字典中,使用values()方法,或遍历字典
同时检查键和值是否存在于字典中,使用items()方法
not in运算符
not in 是 in 的反义操作,如果不存在则返回 True,否则返回 False


工作原理
当使用 in 或 not in 运算符时,Python 会首先尝试调用对象的 __contains__() 方法,
如果类没有实现 __contains__() 方法,Python 会退而使用迭代协议:
-
首先尝试调用
__iter__()方法进行迭代 -
如果没有
__iter__(),则尝试调用__getitem__()方法(从索引0开始顺序访问)
__contains__() 方法
contains,中文:包含


hasattr() ,内置函数,用于检查对象是否具有指定的属性或方法

格式化输出字符
% 占位符

x是小写时输出小写,x是大写时输出大写
%.nf 保留小数点后n位(四舍五入)
示例

![]()




在右侧加空格



输出 %,转义字符 %


format() 方法
语法

示例



索引和变量名的混用


注意:变量名放最后,否则报错
列表的格式化输出


或 解包列表


*d 是 Python 的 解包操作符(Unpacking Operator),它的作用是将列表 d 中的元素 逐个拆分,并作为单独的参数传递给 format() 方法。


f-strings
格式化字符串字面量,Formatted String Literals,是一种在字符串中直接嵌入表达式的高效格式化方法,自 Python 3.6 引入
语法示例

可以调用方法或表达式

列表 List
用于存储 有序、可变 的元素集合,元素之间用逗号分隔。列表可以包含任意类型的对象(如数字、字符串、甚至其他列表),并支持动态增删改查(操作列表)。
创建列表
使用 [ ]

使用list ()函数
将其他可迭代对象(如元组、字符串、集合等)转换为列表
创建一个空列表



访问元素
列表是有序的,可以使用下标\索引获取元素;索引从 0 开始,负数索引表示从末尾访问(-1 是最后一个元素)

查询
索引查询 index()
用于查找某个元素在序列中第一次出现的位置

示例

in运算符
用于检查某个元素是否存在于序列(如字符串、列表、元组、字典、集合等)中。它返回一个布尔值(True 或 False)。
示例

元素计数 count()
用于统计某个元素在序列中出现的次数。


切片

修改

增加元素
append() 方法 【单】
追加,在列表末尾添加单个元素

时间复杂度为 O(1),这意味着添加元素的时间不会随着列表长度的增加而增加,因为不需要移动列表中的其他元素。
extend() 方法 【多】
扩展,在列表末尾添加多个元素(可迭代对象)

加法运算 + 【多】
列表的加法运算 + ,生成了新列表


解包 【多】


使用 * 运算符 【重复】



insert() 方法 【单】
在指定位置插入元素

切片赋值 【多】
在指定位置插入多个元素

+ 和 +=的区别
+产生新列表,+= 修改原列表


删除元素
pop()方法
列表(List)和字典(Dict)等数据结构常用的方法,用于移除并返回指定位置的元素。
列表 List 的pop语法


示例




字典 Dict 的pop语法

集合 set 的pop语法
会移除并返回任意一个元素(因为集合是无序的)

双端队列deque 的pop语法和popleft
collections.deque 支持从两端弹出元素
pop()方法从双端队列的右端弹出


popleft()方法从双端队列的左端弹出


remove()方法
用于移除列表中第一个匹配项的方法,支持remove()方法的数据结构有:列表List,集合Set,双端队列deque,数组Array,其中集合Set因为集合元素唯一,不存在重复,所以是直接移除元素
列表(List)的 remove() 方法


clear()方法
用于清空可变数据结构内容的方法,它会移除容器中的所有元素,使其变为空容器。
适用的数据结构:列表List,字典Dict, 集合Set, 双端队列deque
示例

del 关键字
用于删除对象引用或容器中的元素


注意:del 删除的是引用而不是对象本身,对象由垃圾回收机制处理

作者:想做富婆


