Python基础–详细记录Third_Chapter

Python基础–详细记录Third_Chapter

1、可变字符串

Python基础–详细记录Third_Chapter_第1张图片
引入io

import io
s = "Hello everyone"
sio =io.StringIO(s)
print(sio)
print(sio.getvalue())
sio.seek(5)  #指针移动到字符串索引为5的位置处
sio.write("6")
print(sio.getvalue())

字符串定义了则无法改变,重新赋值,原字符串仍然存在,此处io使得字符串可变,
修改字符串则会直接修改,不会产生新的对象

2、运算符、位操作符和优先级问题

Python基础–详细记录Third_Chapter_第2张图片
比较运算符

a = 5
print(1<a<6)

位操作符

a = 0b11001
b = 0b01000
print(bin(a|b))  #按位或
print(bin(a&b))  #按位与
print(bin(a^b))  #按位异或

左移和右移

a=2
b=8
print(a<<2)  #左移
print(b>>2)  #右移

Python基础–详细记录Third_Chapter_第3张图片

print([10,20,30]+[20,30,40])

复合赋值运算符
Python基础–详细记录Third_Chapter_第4张图片

运算符优先级
Python基础–详细记录Third_Chapter_第5张图片

3、序列

Python基础–详细记录Third_Chapter_第6张图片
Python基础–详细记录Third_Chapter_第7张图片
Python基础–详细记录Third_Chapter_第8张图片
10、20、30、40均为对象,包含id、type和value
列表(序列)连续的内存空间存放10、20、30、40(对象)的地址
列表也是对象,变量a存储列表的地址,当a[0]找10的地址,进而找到10这个对象

3.1 列表

Python基础–详细记录Third_Chapter_第9张图片

3.1.1 列表的使用方法

Python基础–详细记录Third_Chapter_第10张图片
Python基础–详细记录Third_Chapter_第11张图片

3.1.2 列表的创建

常规创建列表:
Python基础–详细记录Third_Chapter_第12张图片
Python基础–详细记录Third_Chapter_第13张图片

推导式创建列表:

a = [x*2 for x in range(10)]
print(a)
b = [x*2 for x in range(10) if x%3==0]
print(b)

3.1.3 列表元素的添加

Python基础–详细记录Third_Chapter_第14张图片
Python基础–详细记录Third_Chapter_第15张图片
Python基础–详细记录Third_Chapter_第16张图片
Python基础–详细记录Third_Chapter_第17张图片
Python基础–详细记录Third_Chapter_第18张图片

3.1.4 列表元素的删除

del (元素索引):
Python基础–详细记录Third_Chapter_第19张图片
删除过程相当于元素的拷贝
Python基础–详细记录Third_Chapter_第20张图片
pop(元素索引):
Python基础–详细记录Third_Chapter_第21张图片
remove(元素):
Python基础–详细记录Third_Chapter_第22张图片
Python基础–详细记录Third_Chapter_第23张图片

3.1.5 列表index()、count()、len()和成员资格判断

index()索引
Python基础–详细记录Third_Chapter_第24张图片
count()统计
Python基础–详细记录Third_Chapter_第25张图片
len()
Python基础–详细记录Third_Chapter_第26张图片
成员资格判断
Python基础–详细记录Third_Chapter_第27张图片
Python基础–详细记录Third_Chapter_第28张图片

3.1.6 列表切片操作

Python基础–详细记录Third_Chapter_第29张图片
Python基础–详细记录Third_Chapter_第30张图片
Python基础–详细记录Third_Chapter_第31张图片

3.1.7 列表排序、max和min函数和sum函数

Python基础–详细记录Third_Chapter_第32张图片
列表排序
Python基础–详细记录Third_Chapter_第33张图片
max和min
Python基础–详细记录Third_Chapter_第34张图片
sum
Python基础–详细记录Third_Chapter_第35张图片

3.1.8 多维数组

Python基础–详细记录Third_Chapter_第36张图片
Python基础–详细记录Third_Chapter_第37张图片

3.2 元组

3.2.1 元组的创建

a = (1,2,3)
b = 1,2,3
c = (1,)       #元组
print(c,type(c))
d = (1)        #数
print(d,type(d))
e = 1,
print(e,type(e))
f = tuple()
print(f)
g = tuple("abc")
print(g)
h = tuple(range(10))
print(h)
print(list((1,2,3)))
print(list([1,2,3]))
j = tuple(list([1,2,3]))
print(j)

3.2.2 元组排序和相加

a = [1,2,3,5,6,4,3]
b = sorted(a)  #返回列表
print(b)
c = 1,2
d = 3,4
e = c+d
print(e)

3.2.3 zip

zip

a = [1,2]
b = [3,4]
c = [5,5]
d = zip(a,b,c)
print(d)
print(list(d))

3.2.4 生成器推导式创建元组

a = (x*2 for x in range(5))
# print(a.__next__())
# print(a.__next__())
# print(a.__next__())
# print(a.__next__())
# print(a.__next__())
# print(a.__next__())  #已全部取出,报错
print(a)
print(tuple(a)) #生成器只能用一次
print(list(a))

3.3 字典

3.3.1 字典的创建

Python基础–详细记录Third_Chapter_第38张图片

a = {"name":"zpl","age":"18","city":"shanghai"}
b = dict(name="zpl",age=18,city="shanghai")
c = dict([("name","zpl"),("age",18)])
d = {}
e = dict()
k = ["name","age"]
v = ["zpl",18]
f = dict(zip(k,v))
g = dict.fromkeys(["name","age"])#值为None
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)

3.3.2 字典键值对的访问

a = {"name":"zpl","age":"18","city":"shanghai"}
print(a["name"])
print(a.get("name"))
print(a.get("ns","不存在"))
print(a.items())
print(a.values())
print(len(a))
print("name" in a) #键是否存在a中

3.3.3 字典元素的添加和删除

a["address"] = "where"
print(a)
a.update(b)
print(a)
del(a["name"])
print(a)
b = a.pop("age")
print(a)
print(b)
a.clear()#全部删除

Python基础–详细记录Third_Chapter_第39张图片

3.3.4 序列解包

x,y,z = (10,20,30)
[a,b,c] = [10,20,30]
s = {"name":"zpl","age":"18","city":"shanghai"}
e,f,g = s.values()
h,i,j = s
l,m,n = s.items()
print(e,f,g)
print(h,i,j)
print(l,m,n)

3.3.5 字典存储

Python基础–详细记录Third_Chapter_第40张图片
Python基础–详细记录Third_Chapter_第41张图片
Python基础–详细记录Third_Chapter_第42张图片

Python基础–详细记录Third_Chapter_第43张图片
Python会根据散列表的拥挤程度扩容,即创造更大的数组将原有内容拷贝到新数组中,接近2/3时就会扩容

3.3.5 字典取出

Python基础–详细记录Third_Chapter_第44张图片
Python基础–详细记录Third_Chapter_第45张图片

3.4 集合

Python基础–详细记录Third_Chapter_第46张图片
Python基础–详细记录Third_Chapter_第47张图片
Python基础–详细记录Third_Chapter_第48张图片
Python基础–详细记录Third_Chapter_第49张图片

你可能感兴趣的:(Python基础–详细记录Third_Chapter)