- 字符串
- 可变字符串(字符串对象是不可变的,因此需引入io.String())
- 运算字符串
- 二进制的 与 或 非 左移 右移
- 乘法操作
- 列表
- 创建列表
- 列表元素的添加
- 列表的删除
- 列表的访问与计数
- 成员资格判断
- 切片操作
- 列表排序
- reserved()返回迭代器
- 列表的一些函数
- 二维列表
- 元组 tuple(跟列表极其相似)
- 生成器
>>> s="hello,sxt"
>>> import io
>>> sio=io.StringIO(s)
>>> sio
<_io.StringIO object at 0x000001CCD4113948>
>>> sio.getvalue()#读取内容
'hello,sxt'
>>> sio.seek(6)#指针放到第几个
6
>>> sio.write("好")
1
>>> sio.getvalue()
'hello,好xt'
运算字符串
二进制的 与 或 非 左移 右移
>>> a=4 >>> 3>> a=0b11001 >>> b=0b10011 >>> a 25 >>> b 19 >>> c=a|b >>> c 27 >>> bin(c) '0b11011' >>> #按位相或 >>> bin(a&b) '0b10001' >>> bin(a^b) '0b1010' >>> a=3 >>> a<<1 6 >>> a<<3 24 >>> #a=011左移一位就是a=110即6 >>> a>>2 0乘法操作
1.a*b
2.字符串的复制 “sxt”*3
3.列表的复制 [1235648]*3
1.用【创建】
2.用list()创建
a=range(10) >>> type (a)>>> list(a) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
3.range([start],end,[step])
list(range(3,20,2)) [3, 5, 7, 9, 11, 13, 15, 17, 19]
4.推导式列表创建(重点)
a=[x*2 for x in range(5)] >>> a [0, 2, 4, 6, 8] >>> a=[x*2 for x in range(100)] >>> a [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198] >>> a=[x*2 for x in range(100)if x%9==0] >>> a [0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]列表元素的添加
1.append()创建,没有创建新对象
>>> a=[20,40] >>> a.append(100) >>> a [20, 40, 100]
2.直接在后面+【】,但是是创建新对象
>>> a=[20,40,100] >>> id(a) 2760572131848 >>> a=a+[50] >>> a [20, 40, 100, 50] >>> id(a) 2760569162504
3.extend(创建了新对象,直接在后面加入列表,但形式要对应,因为它不止可以加入列表)
>>> a=[20,40,100,200] >>> id(a) 2517075939848 >>> a.extend([1,40]) >>> a [20, 40, 100, 200, 1, 40] >>> id(a) 2517075939848
4.insert()
>>> a=[10,20,30] >>> a.insert(2,100) >>> a [10, 20, 100, 30] >>> #在前两个中插入100列表的删除
1.del()删除()内的第几个数
a=[10,20,30] >>> del a[1] >>> a [10, 30]
2.pop()[弹出最后一个]
>>> a=[10,20,30] >>> b=a.pop() >>> b 30 >>> #默认弹出最后一个
3.remove()删除()内的字符
>>> a=["aa","bb","cc"]
>>> a
['aa', 'bb', 'cc']
>>> a.remove("aa")
>>> a
['bb', 'cc']
列表的访问与计数
1.index()获得首次出现的索引
>>> a=[10,20,30,20,20,40] >>> a.index(20) 1
2.count()获得字符出现次数
3.len()获得列表长度
1.>>> a=[10,20,30,20,20,40] >>> 20 in a True 2.>>> a=[10,20,30,20,20,40] >>> a.count(10)>0 True >>> a.count(11)>0 False切片操作
>>> a=[10,20,30,40,50] >>> a[:] [10, 20, 30, 40, 50] >>> a[1:3:1] [20, 30] >>> a[1::2] [20, 40] >>> a[1::] [20, 30, 40, 50] >>> a[::2] [10, 30, 50] >>> a[-3:-2] [30] >>> a[::-1] [50, 40, 30, 20, 10] >>>列表排序
>>> a=[20,10,30,40] >>> a.sort() >>> a [10, 20, 30, 40] >>> #默认升序 >>> a=[10, 20, 30, 40] >>> a.sort(reverse=True) >>> #降序排列 >>> a [40, 30, 20, 10] >>> import random >>> random.shuffle(a) >>> a [10, 30, 40, 20]#打乱顺序reserved()返回迭代器 列表的一些函数
max() min() sum()
二维列表 元组 tuple(跟列表极其相似)1.元组的创建
>>> a=(10,20,30) >>> type(a)>>> b=(20,) >>> type(b) >>> c=tuple() >>> c () >>> b=tuple("abcd") >>> b ('a', 'b', 'c', 'd') >>> b=tuple([20,30,40]) >>> b (20, 30, 40)
2.元组的删除
>>> b (20, 30, 40) >>> del b >>> b Traceback (most recent call last): File "生成器", line 1, in b NameError: name 'b' is not defined
>>> s=(x*2 for x in range(5)) >>> sat 0x000002184365CD68> >>> tuple(s) (0, 2, 4, 6, 8) >>> list(s) [] >>> s at 0x000002184365CD68> >>> tuple(s) ()



