一、上节回顾
1,id() 内存地址
2, == 比较的是值
is 比较的是内存地址
数字,字符串,有小数据池,
#内存地址一样的
int -5--256
str:1,不能有空格。
2,长度不能超过20。
3,不能有特殊字符如:#@.....
列表元组字典这些除了赋值的都是内存地址不一样的
py3:
str:表现形式:s = 'alex' 实际编码方式:unicode
bytes:表现形式:s = b'alex' 实际编码方式:utf-8,gbk,gb2312...
s = b'\x2e\x2e\x2e\x2e\x2e\x2e'
unicode:所有字符(无论英文,中文等) 1个字符:4个字节
gbk:一个字符,英文1个字节,中文两个字节。
utf-8:英文 1 个字节,欧洲:2个字节,亚洲:3个字节。
二、数据类型补充
1.元组
tu = (1) tu1 = ('name',) print(tu,type(tu)) # 1 <class 'int'> print(tu1,type(tu1)) tu = ('dfas') tu1 = ('name',) print(tu,type(tu)) # dfas <class 'str'> print(tu1,type(tu1)) tu = (True) tu1 = ('name',) print(tu,type(tu)) # True <class 'bool'> print(tu1,type(tu1)) tu = ([1,2,3]) tu1 = ('name',) print(tu,type(tu)) # [1, 2, 3] <class 'list'> print(tu1,type(tu1)) #当数据类型外边只加括号的时候。这个数据类型还是自己本身,如果想变为元组。那么后边加一个,号
2.,列表当循环列表时,如果在循环中删除某个或者某些元素,列表元素个数改变,索引改变,容易出错。
# #删除奇数位索引值 #方一: a = [1,2,3,4,5,6,7] del a[1::2] print(a) #方法二 a = [1,2,3,4,5,6,7] a = a[0::2] print(a) #方法三(不建议使用此方法,如果有两个相同的元素可能会出错) a = [1,2,3,4,5,6,7] b = a.copy() for i in range(len(b)): if i%2==1: a.remove(b[i]) print(a) #方法四 a = [1,2,3,4,5,6,7] for i in range(0,len(a)): if i%2==1: del a[(i+1)//2] print(a) #方法五 a = [1,2,3,4,5,6,7] b = [] for i in range(len(a)): if i%2 ==0: b.append(a[i]) a = b #方法五 a = [1,2,3,4,5,6,7] b = [] for i in range(len(a)): if i%2 ==0: b.append(a[i]) a = b print(a)''' e = {1:2,3:4} e.pop(1) print(e) # 方法6 a = [1, 2, 3, 4, 5, 6, 7] for i in range(len(a)-1,-1,-1): if i % 2 == 1: del a[i] print(a)