数字类型
整形:int
Python3中的整形只有int,没有short和long
int :是不可变的数据类型
浮点型:float
同样的浮点型也只有float,没有双精度的
布尔型:bool
复数:complex
组
序列:str list tuple
不可变性
其中
str和tuple,是不可变的数据类型。
序号
序列中的元素都会被分配一个序号
切片
用于截取序列中的元素
例如:
>>> "hello world"[0:5]
'hello'
>>>
截取h到o,对应的序号是0到4
切片中的负数
>>> "hello world"[0:-2]
'hello wor'
>>>
负数代表从序列的最后向前数
-2即是向前两步,那么截取到的序列为0到max-2 :hello wor
截取最后n个元素
>>> "hello world"[-5:]
'world'
>>>
这里截取最后5个元素,即开始为-5,结束不写直到最后。
判断元素在序列中的存在问题
>>> 3 in [1,2,3,4,5,6]
True
>>>
使用关键字:in 来判断元素是否在序列中存在。
>>> 3 not in [1,2,3,4,5,6]
False
>>>
这里增加了一个not即变成了是否不在。
序列长度和最值
>>> len("hello world")
11
>>>
使用len求序列的长度
>>> max([1,2,3,4,5,6])
6
>>> max("hello world")
'w'
>>>
使用max求序列的最大值,包括字母(ASCLL码)的大小也可以比较输出最大值
相应的最小值也可以比较输出。
集合:set
集合的特点:无序性、唯一性。
无序:说明集合不支持下标选取元素和切片操作。
唯一:说明集合如果有两个相同的元素,会被视为一个输出。
in和not in的判断还是可以使用
python中的集合可以相仿数学中的集合学习
集合的相关操作
删除两个元素共有的元素
例如:集合{1,2,3,4,5,6},删除子集{3,4}
>>> {1,2,3,4,5,6} - {3,4}
{1, 2, 5, 6}
>>>
-:求差集
求两个元素的共有元素
>>> {1,2,3,4,5,6} & {3,7}
{3}
>>>
&:求交集
将两个集合合并
>>> {1,2,3,4,5,6} | {3,7}
{1, 2, 3, 4, 5, 6, 7}
>>>
|: 合并集合
定义空集合
使用set()定义空集合
>>> type(set())
<class 'set'>
>>> len(set())
0
>>>
字典:dict
有一个key对应一个value,类似Java的map键值对
字典和集合相似,增加了key值,集合只有value。
且字典可以使用key直接访问value。
例如:
>>> {'1':'A','2':'B','3':'C','4':'D'}['1']
'A'
>>>
如果字典中有两个相同的key值,那么前一个key,value值会被覆盖掉
>>> {'1':'A','1':'B','3':'C','4':'D'}
{'1': 'B', '3': 'C', '4': 'D'}
>>>
可见‘1’:‘A’已经被覆盖了。
如果两个key值的数据类型不同,但是内容相同,是可以的。
key和value
value 的取值不加限制,可以是任意基本的数据类型,甚至字典嵌套也可以
但是key必须是不可变的类型。
比如:int str tuple