Python提供多种数据类型来存放数据项集合,主要包括序列(列表list和元组tuple),映射(如字典dict),集合(set),下面对这几种一一介绍:
一 序列
1.列表list
列表是一种有序的集合,相对于元组和字符串的不同是它其中的元素可变,可以随时添加和删除其中的元素。
(1) 创建list
在命令行中测试,如下:
>>> L1 = [1,2,3]
>>> L1
[1, 2, 3]
>>> L2 = ['abc']
>>> L2
['abc']
>>> L3 = ["a","b","c"]
>>> L3
['a', 'b', 'c']
注意,字符串的一定要加引号。
通过list对字符串创建列表非常有效,比如:
>>> L = list("Python")
>>> L
['P', 'y', 't', 'h', 'o', 'n']
(2)访问list
根据索引来访问,注意不能越界,这一点跟数组特别像:
>>> L[0]
'P'
>>> L[-1]
'n'
(3)添加新元素
用append()方法,把新元素追加到list的末尾;insert()可以将一个新元素添加到特定的位置。
(4) 删除元素
删除元素可以采用pop()方法,执行L.pop()删除list的最后一个元素,如果是特定位置的话可以采用pop(2),2表示的是位置。
(5)替换
替换很简单,直接索引就可以。
(6)打印
>>> L = ['a','b','c']
>>> for i in L:
print(i)
a
b
c
2. tuple
(1)创建
与list所不同的是,tuple一般采用()括起来,命令行中测试,如下:
T= 1,2,3
>>> T
(1, 2, 3)
>>> T = (1,2,3)
>>> T
(1, 2, 3)
>>> T = "abc"
>>> T
'abc'
创建空元组:T = ()
定义一个元素的元组:
>>> T = (1)
>>> T
1
这样运行了结果是对的,看起来也没错,但是这种定义其实并不正确,这种定义的不是tupel,而是1这个数,这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。所以定义含一个元素的元组时必须加一个逗号,如下:
>>> T = (1,)
>>> T
(1,)
(2)访问
直接索引就好,如下:
>>> T =(1,2,3)
>>> T[1]
2
(3)更改
上述定义的tuple是不变的,但是我们可以在tuple中定义list对其进行修改:
>>> T = (1,2,['a','b'])
>>> T[2][0]
'a'
>>> T[2][0] = 'c'
>>> T
(1, 2, ['c', 'b'])
在tuple中,虽然元素不可以修改,但是我们可以对其进行连接组合:
>>> T1 = [1,2,3]
>>> T2 = [4,5,6]
>>> T3 = T1 + T2
>>> T3
[1, 2, 3, 4, 5, 6]
3.字符串
(1)创建
>>> str = "Hello Python"
>>> str
'Hello Python'
(2)访问
>>> str[0]
'H'
(3)相加
>>>str = "hello "
>>>str = "Python"
>>> str3 = str1 + str2
>>> str3
'Hello Python'
4.通用的序列操作方法
(1)索引
在访问序列元素中用到,如下:
>>> L = ['a','b','c']
>>> L[1]
'b'
>>> T = (1,2,3)
>>> T[0]
1
>>> str = "Python"
>>> str[4]
'o'
(2)分片
分片用来访问一定范围内的元素,分片通常通过冒号相隔的两个索引来实现,常见的有如下几种:
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> b = a[1:5]
>>> b
[1, 2, 3, 4]
>>> c = a[-3:-1]
>>> c
[7, 8]
>>> d = a[1:10:2]
>>> d
[1, 3, 5, 7, 9]
二 映射(字典)
映射中的每个元素都有一个专业的名字,叫做键。字典是Python中唯一内建的映射类型,下来我们对其进行详细介绍:
(1)键类型
字典(dict)是一个存放无序的键值映射(key/value)类型数据的容器字典的键可以是数
字、字符串或者是元组,键必须唯一。在Python中,数字、字符串和元组都被设计成不可变类型,而常见的列表以及集合(set)都是可变的,所以列表和集合不能作为字典的键。键可以为任何不可变类型,这正是Python中的字典最强大的地方。
(2)创建
>>> d = {}
>>> d[1] = 1
>>> d
{1: 1}
>>> d['cat'] = 'Lucy'
>>> d
{1: 1, 'cat': 'Lucy'}
(3)查找
dict是通过key来查找value,表示的是意义对应的关系,可以通过d[key]的方式来访问dict:
>>> d['cat']
'Lucy'
(4)遍历
>>> d = {}
>>> d['cat'] = 'Lucy'
>>> d['dog'] = 'Ben'
>>> for key in d:
print(key + ":",d[key])
结果
cat: Lucy
dog: Ben
(5)优缺点