1.列表
- 列表介紹
Python 內(nèi)置的一種數(shù)據(jù)類(lèi)型是列表:list鲤看。list是一種有序集合汛闸,可以隨時(shí)添加和刪除其中的元素
# 如下就是定義一個(gè)列表
classmates=['Michael','Bob','Tracy']
# 用len()函數(shù)可以獲取list元素的個(gè)數(shù)
len(classmates)
# 可以用索引來(lái)訪問(wèn)list中每個(gè)位置的元素伤锚,記得索引是從0開(kāi)始的
classmates[0]
classmates[1]
# 下面這個(gè)的結(jié)果就為 'Tracy'
classmates[-1]
- 列表的相關(guān)操作
1.添加元素(append,extend,insert)
# 通過(guò)append可以向列表添加元素
a=[1,2]
b=[3,4]
a.append(b)
# 打印結(jié)果就為:[1,2,[3,4]]
# 通過(guò)extend可以將另一個(gè)集合中的元素逐一添加到列表中
a.extend(b)
# 打印結(jié)果為: [1,2,[3,4],3,4]
# insert(index,object) 在指定位置index 前插入元素object
a = [0,1,2]
a.insert(1,3)
# 打印結(jié)果就為:[0,3,1,2]
2.修改元素
修改元素的時(shí)候,要通過(guò)下標(biāo)來(lái)確定要修改的是哪個(gè)元素泡孩,然后才能進(jìn)行修改
3.查找元素(in递瑰,not in,index枷邪,count)
所謂的查找榛搔,就是看看指定元素是否存在
in,not in
in(存在),如果存在那么結(jié)果就為true践惑,否則就為false
not in(不存在)腹泌,如果不存在那么結(jié)果就為true,否則false
# 查找是否存在
if findName in namelist:
print("存在")
else:
print("不存在")
# not in 同上一樣用法
index,count
index 和 count 與字符串的用法相同
切記:左閉右開(kāi)區(qū)間
4.刪除元素(del童本,pop真屯,remove)
列表元素常用的刪除方法有:
del:根據(jù)下標(biāo)進(jìn)行刪除,其實(shí)可以刪除所有變量
pop:默認(rèn)刪除最后一個(gè)元素
remove:根據(jù)元素的值進(jìn)行刪除第一個(gè)
aList=['aa','bb','cc']
del aList[0]
# 結(jié)果為:['bb','cc']
5.排序(sort穷娱,reverse)
sort 方法是將list按特定順序排列绑蔫,默認(rèn)為由小到大,參數(shù)reverse=True 可改為倒序泵额,由大到小
reverse 方法是將list 逆置
a=[1,4,3,2]
a.reverse()
# 結(jié)果就為:[2,3,4,1]
a.sort()
# 結(jié)果就為:[1,2,3,4]
a.sort(reverse=True)
# 結(jié)果就為:[4,3,2,1]
6.enumerate()
chars=['a','b','c','d']
for i,char in enumerate(chars):
print i,char
# 打印結(jié)果就為:
0 a
1 b
2 c
3 d
2.元組
Python 的元組與列表相似配深,不同之處在于元組的元素不能修改。元組使用小括號(hào)嫁盲,列表使用方括號(hào)篓叶。
aTuple=('et',77,99.9)
# 要定義一個(gè)空的tuple,可以寫(xiě)成:
aTuple=()
# 但是羞秤,要定義只有一個(gè)元素的tuple缸托,如果這么定義:
t=(1)
# 定義的就不是tuple,而是1這個(gè)數(shù)瘾蛋!因此必須加一個(gè)逗號(hào)來(lái)消除歧義:
t=(1,)
# 最后來(lái)看一個(gè)“可變的”tuple:
t=('a','b',['A','B'])
t[2][0] = 'X'
t[2][1] = 'Y'
# 打印結(jié)果就為:('a','b',['X','Y'])俐镐,為什么元組的值又改變了呢?原因是['A','B']是元組中的一個(gè)數(shù)組哺哼,數(shù)組是可以改變的
1.訪問(wèn)元組
tuple=('hello',100,3.14)
print(tuple[0])
print(tuple[1])
# 結(jié)果就為:'hello' 100
2.修改元組
Python中不允許修改元組的數(shù)據(jù)佩抹,包括不能刪除其中的元素。
3.元組的內(nèi)置函數(shù)count取董,index
index 和 count 與字符串和列表中的用法相同
3.字典
- 字典的介紹
Python 內(nèi)置了字典:dict的支持棍苹,全程dictionary,在其他語(yǔ)言中也叫map茵汰,使用key-value存儲(chǔ)枢里,具有極快的查找速度
# 定義一個(gè)字典:
d={'Michael':95,'Bob':75,'Tracy':85}
print('Bob')
# 輸出為75
說(shuō)明:
- 字典和列表一樣,也能夠存儲(chǔ)多個(gè)數(shù)據(jù)
- 列表中找某個(gè)元素時(shí)经窖,是根據(jù)下標(biāo)進(jìn)行坡垫;而字典是根據(jù)key值
- 字典中每個(gè)元素由兩部分組成 ,key和value
- 若訪問(wèn)不存在的鍵(key)画侣,就會(huì)報(bào)錯(cuò)
- 字典的常用操作
1.修改元素
字典中的每個(gè)元素都是可以修改的冰悠,只要通過(guò)key找到,即可修改
2.添加元素
如果在使用 變量名['鍵']=數(shù)據(jù) 時(shí)配乱,這個(gè)“鍵”在字典中不存在溉卓,那么就能夠新添加這個(gè)元素
3.刪除元素
對(duì)字典的刪除皮迟,有以下幾種:
del
clear()
del:刪除指定的元素
# 刪除其中的一個(gè)元素
info={'name':'班長(zhǎng)','sex':'f','address':'中國(guó)北京'}
del info['name']
# 刪除整個(gè)字典
del info
clear():清空整個(gè)字典
info.clear()
- 字典中常用函數(shù)
1.len()
測(cè)量字典中,鍵值對(duì)的個(gè)數(shù)
2.keys
返回一個(gè)包含字典所有key的列表
3.values
返回一個(gè)包含字典所有value的列表
4.items
返回一個(gè)包含所有(鍵桑寨,值)元組的列表
5.has_key(Python 2.7版本)
dict.has_key(key)
若果key包含在字典中伏尼,則返回True,否則返回False
- 字典的遍歷
1.遍歷字典的key值
info={'name':'lh','age':18,'hobby':'play'}
for key in info.keys():
print(key)
2.遍歷字典的value值
info={'name':'lh','age':18,'hobby':'play'}
for value in info.values():
print(value)
3.遍歷字典的項(xiàng)(元素)
info={'name':'lh','age':18,'hobby':'play'}
for item in info.items():
print(item)
# 打印結(jié)果:
('name', 'lh')
('age', 18)
('hobby', 'play')
4.遍歷字典的key-value(鍵值對(duì))
info={'name':'lh','age':18,'hobby':'play'}
for key,value in info.items():
print("key:%s====value%s"%(key,value))
# 打印結(jié)果
key:name====valuelh
key:age====value18
key:hobby====valueplay
- 總結(jié)
1.請(qǐng)務(wù)必注意尉尾,dict內(nèi)部存放的順序和key放入的順序是沒(méi)關(guān)系的
2.和list作比較爆阶,dict具有如下特點(diǎn):
1)查找和插入速度極快,不會(huì)隨著key的增加而變慢
2)需要占用大量的內(nèi)存沙咏,內(nèi)存浪費(fèi)多
3)而list相反辨图,查找和插入的時(shí)間隨著元素的增加而增加;占用空間小浪費(fèi)內(nèi)存很少
所以肢藐,dict是用空間換取時(shí)間的一種做法
4.可變類(lèi)型和不可變類(lèi)型
1.可變類(lèi)型故河,值可以改變:
列表 list
字典 dict
set (沒(méi)有value的字典)
2.不可變類(lèi)型,值不可以改變
數(shù)值類(lèi)型 int吆豹,long鱼的,bool,float
字符串 str
元組 tuple