Python 中數據結構以及操作列表、元組、字符串、字典

一、序列的基本操作和列表相關函數

1、基本操作

分片

>>>array=[1,2,3,4,5]
>>>array[0:4]
[1,2,3,4]

指定步長,最後一位爲步長

>>>array[0:6:2]
[1,3,5]

乘法

>>>[1,2,3]*3
[1,2,3,1,2,3,1,2,3]

成員資格,用in 判斷

>>> 'w' in 'ws'
True
>>> 'k' in 'ws'
False

列表長度、最大值、最小值(len,min,max)

>>>array=[1, 2, 3, 4, 5, 6, 11, 2, 4, 5]
>>>len(array)
10
>>>min(array)
1
>>>max(array)
11

以上適用於列表和元組,下面適用於列表

2、成員方法

方法 說明
append 列表後面追加新對象
count 統計某個元素在列表出現次數
extend 在列表後一次性追加多個值,區別於+
index 找出某個值第一次出現位置
insert 用於將對象插入列表
pop 移除列表中最後一個元素
remove 移除列表中某個值第一個匹配項
reverse 列表元素反序存放
sort 列表元素排序
append 列表後面追加新對象
>>>array=[1,2]
>>>array.append(3)
[1,2,3]

count統計某個元素在列表出現次數

>>>array=[1,1,1,2,3,4,5]
>>>array.count(1)
3

extend在列表後一次性追加多個值,區別於+

>>>array=[1,2,3]
>>>array+[4,5]
[1,2,3,4,5]
>>>array
[1,2,3]
>>>array.append([4,5])
[1,2,3,4,5]
>>>array
[1,2,3,45]

index 找出某個值第一次出現位置

>>>array=[1,2,3,2,4]
>>>array.index(2)
1

insert 用於將對象插入列表

>>>array=[1,2,3]
>>>array.insert(1,'hello')
[1, 'hello', 2, 3]

pop 移除列表中最後一個元素

>>>array=[1,2,3]
>>>array.pop()
>>>array
[1,2]

remove 移除列表中某個值第一個匹配項

>>>array=[1,2,3,4,5,6,5,7]
>>>array.remove()
>>>array.remove(5)
>>>array
[1, 2, 3, 4, 6, 5, 7]

reverse列表元素反序存放

>>> array
[1, 2, 3, 4, 6, 5, 7]
>>> array.reverse()
>>> array
[7, 5, 6, 4, 3, 2, 1]
>>> 

sort列表元素排序

>>> array
[7, 5, 6, 4, 3, 2, 1]
>>> array.sort()
>>> array
[1, 2, 3, 4, 5, 6, 7]
>>> 

sort也可以指定cmp函數來進行高級自定義排序

>>> array
[1, 2, 3, 4, 5, 6, 7]
>>> cmp(1,2)     // cmp函數的默認實現
-1
>>> cmp(3,2)
1
>>> array.sort(cmp)
>>> array
[1, 2, 3, 4, 5, 6, 7]
>>> 

二、字符串的基本操作和方法

1、字符串也支持分片基本操作

>>> '123'[0:2]
'12'

2、字符串方法

方法 說明
find 在一個較長的字符串中查找子串
join 用來連接序列中的元素,split的逆方法
split 將字符串分割爲列表
lower 返回字符串的小謝形式
replace 返回字符串中所有項被替換的字符串
strip 去掉兩側不包括內部的空格

find 在一個較長的字符串中查找子串

>>> 'i like python'.find('py')
7

join用來連接序列中的元素,split的逆方法

>>> a='i like python'.split(' ')
>>> ' '.join(a)
'i like python'

split 將字符串分割爲列表

>>> 'i like python'.split(' ')
['i', 'like', 'python']
>>> 

lower 返回字符串的小謝形式
replace 返回字符串中所有項被替換的字符串

>>> 'i like python,python is amazing'.replace('a','pp')
'i like python,python is ppmppzing'

strip去掉兩側不包括內部的空格

三、字典的基本操作和方法

1、建立字典

直接建立

>>> phonebook={'a':123,'b':456,'c':789}
>>> phonebook
{'a': 123, 'c': 789, 'b': 456}
>>> 

dict函數,將其他映射或者(key,value)對的序列建立字典

>>> items=dict([('one',1),('two',2)])
>>> items
{'two': 2, 'one': 1}
>>> 

2、基本操作

基本操作 說明
len(d) 返回d中項(key-value)的數量
d[k] 返回key等於k的value
del d[k] 刪除鍵爲k的項
k in d 檢查d中是否有含有鍵爲k的項

3、字典方法

方法 說明
clear 清除字典中所有的項
cpoy 淺複製
deepcopy 深複製
fromkeys 給指定的鍵建立新的字典,每個鍵都對應一個默認的值None
get 更加寬鬆訪問字典的方法,不存在返回None,不會出現異常
has_key 檢查字典中是否有指定的鍵
items 方法將字典中項以列表形式返回
iteritems 返回的爲列表迭代器
pop 獲取給定鍵的值,並將此項移除
popitem 隨機彈出字典中的某個項
values 以列表的形式返回字典的值

clear 清除字典中所有的項

>>> items
{'two': 2, 'one': 1}
>>> items.clear()
>>> items
{}

cpoy淺複製

fromkeys給指定的鍵建立新的字典,每個鍵都對應一個默認的值None

>>> {}.fromkeys(['one','two','three'])
{'three': None, 'two': None, 'one': None}

get 更加寬鬆訪問字典的方法,不存在返回None,不會出現異常

>>> dicter={}.fromkeys(['one','two','three'])
>>> dicter.get('one')
>>> dicter.get('yy')
>>> dicter['one']
>>> dicter['yy']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'yy'

has_key 檢查字典中是否有指定的鍵

>>> dicter.has_key('one')
True
>>> dicter.has_key('y')
False

items和iteritems
items方法將字典左右項以列表形式返回,iteritems返回的爲迭代器

>>> dicter.items()
[('three', None), ('two', None), ('one', None)

pop 獲取給定鍵的值,並將此項移除

>>> dicter
{'three': 789, 'two': 456, 'one': 123}
>>> dicter.pop('one')
123
>>> dicter
{'three': 789, 'two': 456}

popitem 隨機彈出字典中的某個項
values 以列表的形式返回字典的值

>>> dicter
{'three': 789, 'two': 456}
>>> dicter.values()
[789, 456]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章