本文正在参加「Python主题月」,详情查看 活动链接
未完继续
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'>