序列通用操作,原地修改方法,深浅复制

  序列的通用操作

  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.关于字典和列表的深复制和浅复制。

猜你喜欢

转载自www.cnblogs.com/romacle/p/9917525.html
今日推荐