1. 程式人生 > >序列通用操作,原地修改方法,深淺複製

序列通用操作,原地修改方法,深淺複製

  序列的通用操作

  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.關於字典和列表的深複製和淺複製。