Tuple
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
元组中的元素类型也可以不相同:
>>> t = (1,2,3,['a'],{'name':'phyger'}) >>> t (1, 2, 3, ['a'], {'name': 'phyger'}) >>> t[1:] (2, 3, ['a'], {'name': 'phyger'}) >>> t[:-2] (1, 2, 3) >>> t*2 (1, 2, 3, ['a'], {'name': 'phyger'}, 1, 2, 3, ['a'], {'name': 'phyger'}) >>> t[0] 1 >>> t[0]=2 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment >>> 复制代码
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
>>> p = (1) >>> p 1 >>> type(p) <class 'int'> >>> q = (1,) >>> type(q) <class 'tuple'> >>> q (1,) >>> 复制代码
注意: 元组中的元组不可变,但是可以包含可变类型的元素,单个元素的元组有特殊的地方,记得加逗号“,”
Set
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
>>> st = {'xian','beijing','chengdu'} >>> type(st) <class 'set'> >>> tt = set('xian') >>> tt {'x', 'i', 'a', 'n'} >>> type(tt) <class 'set'> >>> bb = set('abcdaaa') >>> bb {'c', 'd', 'a', 'b'} >>> 复制代码
集合运算:
>>> s1 = {1,2,3,4} >>> s2 = {3,4,5,6} >>> s1-s2 #差集 {1, 2} >>> s1|s2 #或 {1, 2, 3, 4, 5, 6} >>> s1&s2 #与 {3, 4} >>> s1^s2 #与非 {1, 2, 5, 6} >>> 复制代码
Dictionary
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
>>> d = {'name':'phyger'} >>> d {'name': 'phyger'} >>> type(d) <class 'dict'> >>> d['age']=18 >>> d {'name': 'phyger', 'age': 18} >>> d.keys() dict_keys(['name', 'age']) >>> d.values() dict_values(['phyger', 18]) >>> d['age']=19 >>> d {'name': 'phyger', 'age': 19} >>> d.clear() >>> d {} >>> 复制代码
数据类型转换
number2string
string = str(number) >>> res = str(2) >>> print(res.type(res)) 2 <class 'str'> 复制代码
string2number
number= int(string) >>> res = int('2') >>> print(res,type(res)) 2 <class 'int'> 复制代码
tuple2list
>>> y = (1,2,3) >>> print(type(y)) <class 'tuple'> >>> li = list(y) >>> print(li,type(li)) [1, 2, 3] <class 'list'> 复制代码
list2tuple
>>> x = [1,2,3] >>> res = tuple(x) >>> print(res,type(res)) (1, 2, 3) <class 'tuple'>