序列的通用操作
Python包含6种内建的序列:列表,元组,字符串,Unicode字符串,buffer对象和xrang对象。
所有序列类型都可以进行某些特定的操作。这些操作包括但不限于:索引(indexing),分片(slicing),加(adding),乘(multiplying),以及成员资格(in,not in),除此之外,Python还有计算序列长度,找出最大元素和最小元素的内建函数以及迭代(iteration)。
索引
序列中所有元素都是有编号的,从0开始递增。这些元素可以通过编号分别访问。
a = 'hello world!'
print(a[1])
>>>e
a = ['in','to','be','not']
print(a[1])
>>>to
a = ('in','do','to','be','not') print(a[1]) >>>do
如果一个函数调用返回一个序列,那么可以直接对返回结果进行索引操作。
name = input('please input your name:')[2]
print(name)
>>>please input your name:Dance
>>>e
分片:与使用索引来访问单个元素类似,可以使用分片操作来访问一定范围内的元素。
url = 'www.google.cn'
print(url[4:10])
>>>google
捷径
访问前两个元素
url = 'www.google.cn'
print(url[:2])
>>>ww
访问最后两个元素
url = 'www.google.cn'
print(url[-2:])
>>>cn
复制整个序列
url = 'www.google.cn'
x = url[:]
print(x)
>>>www.google.cn
步长
n = [1,2,3,4,5,6,7,8,9]
print(n[::2])
>>>[1, 3, 5, 7, 9]
print(n[::3])
>>>[1, 4, 7]
步长可以是负数,此时分片从右到左提取。
n = [1,2,3,4,5,6,7,8,9]
print(n[::-3])
>>>[9, 6, 3]
序列相加
a = 'name'
b = 'colour'
print(a+b)
>>>namecolour
x = ['red','blue']
y = ['yellow','white']
print(x+y) >>>['red', 'blue', 'yellow', 'white'] n = ('users','admin') m = ('systme','ios') print(n+m) >>>('users', 'admin', 'systme', 'ios')
不同数据类型的不能相加。
乘法
a = 'python'*5
print(a)
>>>pythonpythonpythonpythonpython
a = ['python']*5
print(a)
>>>['python', 'python', 'python', 'python', 'python']
成员资格:in/ not in
a = 'Python'
print('y' in a)
>>>True
n = [ 'red','white','blue','black']
print('red' not in n)
>>>False
长度,最小值和最大值(len,min,max)
n = [23,1,8,63,34,2,45]
print(len(n))
print(min(n))
>>>7
>>>1
a = [ 'red','white','blue','black']
print(len(a)) print(min(a)) print(max(a)) >>>4 >>>black >>>white
待补充
1.原地修改的概念?
2.什么方法属于原地修改?
3.关于字典和列表的深复制和浅复制。