04.Python列表元組

1.列表

  1. 列表介紹

Python 內(nèi)置的一種數(shù)據(jù)類型是列表: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] 
  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,可以寫成:
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.字典

  1. 字典的介紹

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. 字典的常用操作

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()
  1. 字典中常用函數(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. 字典的遍歷

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
  1. 總結(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.可變類型和不可變類型

1.可變類型,值可以改變:
列表 list
字典 dict
set (沒(méi)有value的字典)
2.不可變類型,值不可以改變
數(shù)值類型 int,long,bool,float
字符串 str
元組 tuple

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容