python列表、元组等序列的入门知识
列表和元组的主要区别:列表可以修改,元组不能修改。
一. 通用序列操作:
- 内建序列类型:列表、元组、字符串、Unicode字符串、buffer对象、Xrange对象。
- 通过索引和分片访问序列:
- 索引:
>>>greeting='Hello'
>>>greetiing[0]
'H'
- 分片:
>>>tag='<ahref="http://www.python.org">Python web site</s>'
>>>tag[9:30]# 前闭后开
>>>print(tag[9:30])
- 分片设置步长:
>>>numbers=[1,2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>numbers[0:10:1] # 解析:按照1个步长取[0,10)的元素
[1, 2, 3,4, 5, 6, 7, 8, 9, 10]
>>>numbers[0:10:2]# 解析:按照2个步长取[0,10)的元素
[1, 3, 5,7, 9]
- 加号“+”
两个序列中间用一个加号相连,表示这两个序列前后连接形成一个新的长的序列。而并不是相加!
- 注意:字符串和列表是不能用+号连接的。
- 乘号“*”
>>>python*5
Pythonpythonpythonpythonpython
- in:
用in运算符可以检查一个值是否在序列中,如:
>>>permissions='rw'
>>>'w'in permissions
True
>>>users= ['abc', 'def', 'ghi']
>>>'abc'in users
True
- len:
用len函数可以得到序列的长度,如:
>>>users=['abc','def', 'ghi']
>>>len(users)
3
- max和min函数
max(序列)和min(序列)可以得到序列中的最大和最小值。
二. 列表:
- 将字符串变成列表:
因为字符串不能像列表一样被修改,所以有时根据字符串创建列表会很有用,可以用list函数把 字符串转成列表
>>>str='abc'
>>>a=list(str)
>>>print(a)
['a','b', 'c']
>>>s=''.join(a)
>>>print(s)
Abc
- 将列表转成字符串:
可以用''.joint(列表)将该列表转化成字符串,如:
>>>a=['a','b', 'c']
>>>s=''.joint(a)
>>>print(s)
abc
- 删除列表的元素:
>>>x=[1,2,3]
>>>delx[1]
>>>print(x)
[1,3]
- 列表方法:
- x.append(1) # 往列表x的末尾添加一个1的元素
- x.count(1) # 统计列表x中1出现的次数
- a.extend(b) # 将a和b连接后赋值给a,相当于a=a+b
- a.index('who') # 找到列表中与who匹配的第一个元素的下表
注意!若找不到,并不会返回-1,而是会抛出一个异常
- insert方法:a.insert(位置, 元素) # 把元素插入到对应位置的后面
- pop方法:
a.pop() #把a列表的最后一个元素弹出来(返回并删除)
a.pop(1) # 把a列表的下标为1的元素弹出来(返回并删除)
- a.remove('be') # 把a列表中的be元素删除(不会返回)
- a.reverse() # 把a列表反向存放,(改变了列表但不返回)
- a.sort() # 把a列表顺序排序(会改变原列表,不返回)
- sorted(a) # 把a列表顺序排序(不会改变原列表,但会返回排序后的列表)
三. 元组:
元组和列表同样是一种序列。
- 创建元组:
a=1,2,3或者:a=(1,2,3)
- 将序列(元组、列表、字符串等皆可)转化成元组:
>>>tuple([1,2, 3])
(1, 2, 3)
>>>tuple('abc')
('a','b', 'c')