Python 列表 元组 表达式
程序员文章站
2022-05-25 08:04:14
...
列表list的常用方法
-增:+,append,insert,extend
-删:del,clear,pop,remove
-改:直接用索引
-查:count,index
-其他:copy,reverse,sort,切片
增
+
a = ["hi"]
b = [1,2,3]
c = a + b
print(c) #[1,2,3,`hi`]
append
-在列表末尾添加一个元素,一次只能添加一次,ID不变
a = [1,3,"sdf"]
a.append("df")
print(a) #[1,3,`sdf`,`df`]
insert
-指定列表索引插入一个元素
a = [2,4,"df","rg"]
a.insert(1,34)
print(a) #[2,34,4,"df","rg"]
-如果索引大于列表长度,则添加到列表末尾
extend
-对列表进行扩展,即对原列表添加一个列表或字符串
a = [2,3,"sd"]
b = ["df",4]
a.extend(b)
print(a) #[2,3,`sd`,`df`,4]
a.extend("asd")
print(a) #[2,3,`sd`,`df`,4,`a`,`s`,`d`]
删
del
-del是Python内置方法,不只是列表当中的方法
-删除列表中指定索引元素或者整个列表
a = [2,4,"df"]
del a[1]
print(a) #[2,`df`]
del a
print(a) #报错,a不存在
clear
-清空列表中的元素
a = [2,3,4]
a.clear()
print(a) #[]
pop
-弹出指定索引元素,默认弹出最后一个元素
a = [2,3,"sd"]
a.pop(0)
print(a) #[3,`sd`]
a.pop()
print(a) #[3]
remove
-直接移除指定元素,如果该元素有多个,则只移除从左向右的第一个该元素
a = [3,2,"df",3]
a.remove(3)
print(a) #[2,"df",3]
改
-按索引进行元素更改
a = [1,2,3,4]
a[2] = 5
print a #[1,2,5,4]
查
count
-统计元素在列表中出现的次数
a = [1,2,4,2,5,6]
b = a.count(2)
print(b) #2
index
-查元素的索引
a = [2,4,3,1,5,6,3]
b = a.index(3)
c = a.index(3,1)
d = a.index(3,3,6)
print(b) #2 默认从0索引开始到末尾第一个3位置的索引是2
print(c) #2 从1索引开始到末尾第一个3位置的索引是2
print(d) #6 从3索引开始到6索引第一个3位置的索引是6
其他
in 判断元素是否在列表中
a = [1,2,3,4]
2 in a #true
copy 复制列表
a = [1,2,3]
b = a
c = a.copy()
id(b) = id(a) #b的id等于a的id
id(c) !=id(a) #c的id不等于a的id
reverse 把列表里的元素位置完全颠倒
a = [1,2,3]
a,reverse()
a = [3,2,1]
sort
-把列表里元素按ASCII表从小到大排序
-只能同类型元素排序,字母和数字无法排序
a = [3,2,5,1]
a.sort()
a = [1,2,3,5]
b = ["g",E,"a"]
b.sort()
a =["E","a","g"]
元组
count
-统计元素在元组中出现的次数
a = (1,2,4,2,5,6)
b = a.count(2)
print(b) #2
index
-查元素的索引
a = (2,4,3,1,5,6,3)
b = a.index(3)
c = a.index(3,1)
d = a.index(3,3,6)
print(b) #2 默认从0索引开始到末尾第一个3位置的索引是2
print(c) #2 从1索引开始到末尾第一个3位置的索引是2
print(d) #6 从3索引开始到6索引第一个3位置的索引是6
表达式
-由一个或者几个数字或者变量和运算符组合成的一行代码
-通常会返回一个结果
运算符
-由一个以上的值经过变化得到新值的过程就叫运算
-用于运算的符号就叫运算符
运算符分类
-算术运算符
-比较或者关系运算符
-赋值运算符
-逻辑运算符
-位运算
- 身份运算符
- 成员运算
算术运算符
-进行算术运算的符号
- python没有自增自减运算符
- +,-,*,/和正常算术运算符一样
%是取余运算符,取两个数字相除所得的余数
a = 9 % 4
print(a) #1
//表示取商运算,也叫地板除
a = 9 // 4
print(a) #2
**表示幂运算
a = 9 ** 2
print(a) #81
比较运算符
- 对两个变量或者值进行比较的运算符
- 比较的结果是布尔值,即true或false
== 等于号
a = 3 ** 4
b = a == 80
print(b) #false 执行顺序是 1 计算3的四次幂 2 判断a是否等于80 3 把判断结果赋值给b
!= 不等于号
print(4 != 5) #true
> 大于
< 小于
>= 大于等于
<= 小于等于
赋值运算符 =
a = 1
b = c = 3
a += 1 #a = a + 1 同理 -= ,*=,/=.//=,%=,**=
逻辑运算符
- 对布尔值进行计算的符号
- and 逻辑与
- or 逻辑或
- not 逻辑非
- Python中逻辑运算没有异或运算
运算规则
- and看做乘法,or看做加法
- true看做1,false看做0
- 则逻辑运算就能转换成整数数学运算
- 最后结果是0则为false,1则为true
a = true
b = false
c = true
d = a and b or c #d = 1 * 0 + 1
print(d) #1
逻辑运算的短路问题:
- 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再计算,直接返回
a = true or ....... #a的值一定是true,则运行到or的时候,整个表达式不再向下计算
身份运算
- is:用来检测两个变量是否是同一变量
- is not:两个变量不是同一变量
a = 4
b = 4
print(a is b) #true
运算符优先级
- 括号内具有最高优先级
- 优先级表格
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 [email protected] 和 [email protected])
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符
下一篇: Date工具类