-
-
整数(int)
-
不可变数据类型
-
python2 长整数Long
-
python3 没有长短之分
-
-
浮点数(float):小数有精度 2.0,1.2
-
复数(complex):2+3j
-
-
布尔值(bool):大小写敏感
-
非空非0为真,0或空为假
-
-
字符串(str):不可变数据类型,C语言中一个单词为chr:’a‘,多个为chr*:’abc‘;python没有之分就一个,’sdsf‘
-
’abc‘,“abc”,’‘’abc‘’‘ 字符串中的都是无意义的,除了一些 转义符
-
’i‘m a boy':需要转义 ’i‘m a boy'
-
转义符:, 换行符, 制表符,
\
转义 -
格式化:
-
%s 任意字符串
-
%d 任意整数
-
%f 任意浮点数
-
%x 十进制整数
-
format()
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125) 'Hello, 小明, 成绩提升了 17.1%'
-
-
有序序列可做切片,索引操作
-
-
列表(list):[]表示,[1,'s'],可变数据类型
-
有序序列可做切片,索引操作
-
-
元组(tuple):不可变数据类型,()表示,('a',2)
-
有序序列可做切片,索引操作
-
一个数据的元组(2,)
-
-
字典(dict):可变数据类型
-
无序数据类型,不可做切片,索引操作
-
-
集合(set):可变数据类型
-
无序数据类型,不可做切片,索引操作
-
经过哈希运算,数据不重复
-
索引,切片:有序序列的操作
-
索引:用索引来访问list中每一个位置的元素,记得索引是从0开始的 ,如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素
-
'smk'[0] = 's','smk'[-1] = 'k'
-
索引数字:0123
字符串:'ssds'
索引数字:-4-3-2-1
-
-
切片:对一个有序数据截取需要的数据
-
切片超出范围不会报错,返回空,索引会报错
-
>>> 'sdfgdg'[0:2] 'sd' >>> 'sdfgdg'[-1:3]#默认只能从左往右取 '' >>> 'sdfgdg'[-1:-3] '' >>> 'sdfgdg'[-1:6] 'g' >>> 'sdfgdg'[-1:1] '' >>> 'sdfgdg'[-6:6] 'sdfgdg'
-
带有步长:不管step正负,索引值都不会变
-
step为正,从左往右,
'asdf'[1:-1:2] = 'ad'#左闭右开,包括a本身
-
step为负,从右往左
'asdf'[1:-1:-1] = ''
#这样取是不行的,只能从右往左取,从起点1开始去往右走,1索引值是s,终点到-1,索引值是f,所以是取不到的。假如是'asdf'[1:0:-1],往右走取0,索引值是a,左闭右开所以是能取到s。 -
-
范围切片赋值:
-
坑位对应数据个数:对应坑位依次排开
-
数据个数大于或小于坑位:追加至原数据位置
-
假如有步长,数据必须对应坑位个数,不对应报错
>>> a = [1,2,3,5,4] >>> a[:2] [1, 2] >>> a[:2] = [1,5,6] >>> a [1, 5, 6, 3, 5, 4] >>> a[:2] = [5,6] >>> a [5, 6, 6, 3, 5, 4] >>> a[:2] [5, 6] >>> a[:2] = ['l'] >>> a ['l', 6, 3, 5, 4] >>> a[:-1:2] ['l', 3] >>> a[:-1:2] = ['k','m','g'] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: attempt to assign sequence of size 3 to extended slice of size 2 >>> a[:-1:2] = ['k','m'] >>> a ['k', 6, 'm', 5, 4]
-
-
字典集合的操作
- 字典(dict):{a:'b',1:'k'}key值不可变数据类型,value可变数据类型
-
mydict = dict(([1,2],[4,5])) 工厂函数
-
内建方法dict.fromkeys([1,2,3,4,5],'a') 批量创建
-
hash算法处理过的数据,通过key值指向一个value值
-
for循环访问key值
-
字典更新:
-
不存在的key值时,dict[key] = value 创建一个新的key值
-
update:mydict.update(((1,2),)) 二元组
-
-
mydict.keys() mydict.values() mydict.get(key)
-
删除字典:
-
del mydict[key]
-
del mydict
-
mydict.pop(key) 会返回对应的key值
-
mydict.clear() 清空字典
-
-
- 集合:(set)
-
集合可以去重,数据经过hash处理,储存不可变数据
-
工厂函数 myset = set((1,2),)
-
不可变集合:f = frozenset([1,2,3]) 不可以增删改查
-
可变集合: g = set([1,2,3])
-
set.add(不可变数据类型) 更新集合,原数据加进去,不拆分
-
setupdate(数据集) 把数据集拆分成单个元素加进去
-
-
删除集合:
-
set.pop() 不接受参数,随机删除返回删除值
-
set.remove(key) 接受参数
-
set.discard(key) 接受参数
-
del myset
-
set.clear()
-
-
集合for访问
-
集合判断:var in myset
-
集合运算:
-
子集:a < b或a.issubset(b) 判断a是否是b的子集
-
超集:a > b或a.issuperset(b) 判断a是否是b的超集
-
交集:a&b(intersetion)a和b相同的元素
-
并集:a|b(union)a和b全部的元素
-
差补:a-b(symmetric_difference)a去掉b的所有的元素(包括相同的)只留下自己独有的
-
差分:a^b(symmetric_difference_update) 去掉a和b相同的元素,交集的反集
-
-