第三章

基本运算符:
and, or, not
is,is not
<,<=,>,>= ,!= ==
|,^,&
<<.>>
~
在这里插入图片描述
a = 0b11001
b = 0b01000
a
25
b
8
bin(a|b)
“0b11001”
bin(a&b)
“0b01000”
bin(a^b)
“0b10001”

a = 3
a<<2 #左移一位相当于乘以2,左移两位就是乘4
12
b = 12
b>>3
4

序列:
字符串,列表,元组,字典,集合
列表中,存放的都是地址,再把列表的地址给变量
列表是连续的内存空间
在这里插入图片描述

列表的创建方法:
1.使用基本语法创建
a = []
2.list()创建
a = list() #创建一个空的列表对象
可以把字符串转化为列表
a = list(“gaoqi”)
[“g”,“a”,“o”,“q”,“i”]
a = range(0,10)
list(a)
[1,2,3,4,5,6,7,8,9]
3.通过range()创建整数列表
三个参数:开始,结束,步长
list(range(0,10,1))
[0,1,2,3,4,5,6,7,8,9,]
list(range(0,20,2))
[0,2,4,6,8,10,12,14,16,18]
list(range(5,2,-1))
[5,4,3]
4.推导式生成列表
a = [x*2 for x in range(5)]
a
[0,2,4,6,8]

增加元素的方法
a = [20,40]
id(a)
46016072
a.append(80)
[20,40,80]
a.append[100]
[20,40,80,100] #速度最快推荐使用

+运算符操作
a = a+[50]
id(a)
46015632 #发现ID变了,说明产生了新的对象,把新对象的地址赋值给了a

extend()方法:
将目标所有元素添加到原列表尾部,不产生新对象
a.extend([50,60])
a
[20,40,50,60]
id(a)
46016072 #ID没变,效率高

insert()插入
将元素插入到列表的指定位置
a = [10,20,30,40]
a.insert(2,100) #第一个参数是第*个元素,第二个参数是插入的元素
a = [10,20,100,30,40]

乘法扩展:
和字符串一样
a = [“zhangsan”]
b = a*3
b
[“zhangsan”,“zhangsan”,“zhangsan”]

删除元素的3种方法:
1.del
a = [10,20,30]
del a(1)
[10,30] #本质上也是数组的拷贝,产生新的数组
2.pop()
删除指定位置的元素,如果未指定,则默认删除最后一个元素,有返回值。自动返回弹出的元素
a = [10,20,30,40,50]
b = a.pop()
b
50
c = a.pop(1)
c
20
3.remove()
删除首次出现指定的元素,若不存在钙元素抛出异常
a = [10,20,30,40,50,20,30,20]
a.remove(20)
a
[10,30,40,50,20,30,20]

列表元素的访问和计数
访问:索引
a = [1,2,3,4,5,2,3]
a[2]
3
index():获得指定元素在列表中首次出现的索引位置
a.index(3) #参数是元素而不是索引
2
a.index(3,1,4) #参数1是需要搜索的元素,参数2,3是指定范围,在第2个参数和第3个参数之间范围内搜索
2

count() 获得指定元素出现的次数
a.count(2)
2

len()返回列表的长度
len(a)
7

成员资格判断:
判断列表中是否存在指定的元素,可以使用count()方法,返回0表示不存在,返回大于0表示存在
也可以使用in关键词,更加简洁,返回false或者true
a = [10,20,30,40,50,60,20,30,40,20]
20 in a
True
100 not in a
True
本质上和a in "abc"一样,一般使用in 简单,方便

列表的切片操作
slice操作:
a = [10,20,30,40,50,60]
a[:] #提取所有元素
[10,20,30,40,50,60]
a[1:3:1] #标准写法:第一个元素到第三个元素左闭右开,步长为1
[20,30]
当参数为负数的时候
当步长为负,就是从后往前
步长为正数,从前往后,默认步长是1
a[-3:]
[40,50,60]
a[:-3]
[10,20,30]
a[::-2]
60,40,20

列表的排序
1.在原列表中修改:sort()
a = [20,10,40,30]
id(a)
46017416
a.sort()
a
[10,20,30,40]
id(a)
46017416
倒叙
a.sort(reverse = True) #reverse = True这个参数就是反转
a
[40,30,20,10]
随机排序
import random #引入随机模块
random.shuffle(a) #洗牌
a
[30,20,10,40] #列表随机排序
2.生成新的列表,原列表不变。内置函数sorted()
a = [20,10,40,30]
id(a)
46017416
a = sorted(a)
a
[10,20,30,40]
id(a)
46018856
如果想返回一个逆序排列,可以用[::-1]
也可以用迭代器,revesed(),迭代器是一次性用品,不对源列表做任何修改,只是返回一个逆序排列。例如:
c = reversed(a)
list©
[40,30,20,10]
list©
[]

max()和min()
返回最大和最小值
max(a)#返回最大值
sum()
对数值型列表的所有元素求和
a = [2,30,15,3,11]
sum(a)
61

多维列表:
二维列表:
a = [[1,2,3],[4,5,6],[7,8,9]]
a[1][1]
5

元组:
和列表相比,元组是不可变序列
元组支持以下操作:
1.索引访问
2.切片操作
3.链接操作
4.成员关系操作
5.比较运算操作
6.计数(max,min)
元组创建:
1.a =(1,2,3)#小括号可以省略 a = 1,2,3
2.通过tuple创建
c = tuple()
c
b = tuple(“abcd”)
(“a”,“b”,“c”,“d”)
b = tuple(range(3))
(0,1,2)
b = tuple(list[1,2,3])
(1,2,3)

元组的删除:del
zip:
zip将多个列表对应位置的元素组成元组,并返回zip对象

生成器推导式创建元组
和列表推导式相似,只是使用小括号
列表推导式直接创建列表,元组推导式生成的不是列表也不是元组,而是一个生成器对象
可以通过生成器对象转化成元组或者列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值