1. 程式人生 > >Pyhton編程(五)之基本數據類型-列表、元組、字典

Pyhton編程(五)之基本數據類型-列表、元組、字典

rem 返回 type for tro 重復 class 數字 循環

一:列表(list)

  列表是由一系列按特定順序排列的元素組成,可以創建包含字母表中的所有字母、數字、或中文的列表,也可以將任何東西加入列表中,其中的元素之間可以沒有任何關系。

  在Python中,用方括號[]來表示列表,並用,來分割列表中的元素,如

name=[1,2,3,"cc",[33,44]]        //列表可以嵌套任何類型,

  列表的取值

name=[1,2,3,"cc",[33,44]]
print(name[0])                    ##通過索引的方式
name=[1,2,3,"cc",[33,44]]
print(name[1:-1])                 #
#通過切片的方式,註意:切片取前不取後

  列表的修改

name=[1,2,3,"cc",[33,44]]
name[0]=3
print(name)                ##通過索引賦值,可以修改列表中元素的值
##################
name[0:2]=[4,5,6]
print(name)                ##同樣的,也可以通過切片的方式批量修改元素值 

  補充一下:字符串一旦創建,就不能修改,一旦修改或者拼接,都會造成重新生成字符串。列表可以進行修改。

二:列表的方法(詳解)

  1、append

name=[1,2,3]
name.append(
"czp") print(name)            //追加,將元素追加到列表的最後

  2、clear

name=[1,2,3]
print(name.clear())   #清空列表,返回值為None

  3、copy

name=[1,2,3]
v=name.copy()
print(v)               #淺拷貝,後面的博客會詳細介紹深、淺拷貝

  4、count

name=[1,2,3,2,2]
print(name.count(2))   #計算元素出現的次數

  5、extend

name=[1,2,3]
name.extend([11,22])
print
(name) ##擴展原列表元素,輸出結果:[1, 2, 3, 11, 22] #與append的比較 name.append([11,22]) print(name) ##追加列表元素,輸出結果:[1, 2, 3,[11, 22]]

  6、index

name=[1,2,3]
print(name.index(1))    #獲取當前元素的索引位置(左邊優先)

  7、insert

name=[1,2,3]
name.insert(0,"czp")
print(name)             #插入,可指定插入元素的索引位置

  8、del、pop、remove

name=[1,2,3]
# name.pop(1)
# print(name)          #刪除,可指定索引位置刪除元素,默認是最後一個
# #----------------------------------------------------------------------------------
# name.remove(3)
# print(name)          #刪除,remove方法中需要指定刪除的元素,如果元素不在該列表中,則會報錯
#----------------------------------------------------------------------------------
print(name)
del name[1]
print(name)             #刪除,通過直接添加索引位置的方式

  9、reserve

name=[1,2,3]
name.reverse()
print(name)         #反轉,將列表中的元素從最後一個元素開始輸出

  10、sort

name=[2,1,3]
name.sort()
print(name)         #排序,後面會講到和sorted的區別

  11、字符串與列表之間的相互轉化

  將字符串轉換成列表,可以理解為將字符串中的每一個字符進行一個for循環,每一個字符作為一個元素放置於列表中,如

name="czp"
l=list(name)
print(l)
輸出結果:
[c, z, p]

  而如果將列表轉化為字符串,就需要自己些for循環來完成這一需求,對於既有數字,又有字符的,如下:

name=["c","z","p",11]
s=""
for i in name:
   s=s+str(i)
   print(s)
輸出結果:
czp11

  對於只有字符串的,可以更簡便的通過jion方法來實現,如下:

name=["c","z","p","11"]
print("".join(name))
輸出結果同樣為:czp11

二:元組(tuple)

  元組其實就是不可變列表,一旦創建,便不能更改,元組的創建方式使用()的方式,如下

name=(1,2,3,)
print(type(name))               輸出結果為<class ‘tuple‘>

  元組的方法就很少了,只有兩個,一個index和count,用法和列表的用法一樣,在這裏就不重復介紹了。

  在創建元組的時候,推薦在最後一位元素後加上個“,”,以便於區分。另:元組是有序的

三:字典(dict)

  字典就是一種key-value對的形式,字典是無序的,因為字典中的key必須是唯一的,所示字典這種數據類型可以理解為是自動去重的,字典的value可以是任意值,字符串,數字,列表,字典等等。布爾值、列表、字典不可以作為字典的key

  字典的定義方式用 {} 來表示,如下:

name={
    "zhao":11,
    "qian":12,
    "sun":13,
}                                 可以看到,字典中都是key-value對的形式

  字典這種數據類型常用的方法有:

  1.clear()

print(name.clear())       清除字典中的數據,輸出結果為none

  2.fromkeys()

print(name.fromkeys(["c","z","p"],100))   創建字典,通過列表的方式指定多個key,並將這些key賦予相同的值
輸出結果為:
{c: 100, z: 100, p: 100}

  3.get()

# v = dic[‘k11111‘]
# print(v)
# v = dic.get(‘k1‘,111111)
# print(v)                        根據Key獲取值,key不存在時,可以指定默認值(None)

  4.pop

name={
    "k1":"v1",
    "k2":"v2"
}
name.pop("k1")                //刪除,指定刪除的key,如果存在,刪除,如果key不存在,報錯
print(name)                
輸出結果:
{k2: v2}

  5.popitem

dic={
    "k1":"v1",
    "k2":"v2"
}
print(dic.popitem())          Python 字典 popitem() 方法隨機返回並刪除字典中的一對鍵和值(一般刪除末尾對)。如果字典已經為空,卻調用了此方法,就報出KeyError異常
輸出結果:
{‘k2‘: ‘v2‘}           

  6.update

dic = {
    "k1": v1,
    "k2": v2
}
dic.update({k1: 111111})                        更新
print(dic)
運行結果:
{k1: 111111, k2: v2}

  字典的for循環

for i in dic.keys():                     輸出字典中所有key的值
    print(i)
for i in dic.values():           輸出字典中所有value的值
    print(i)
for k,v in dic.items():           輸出字典中所有的key對應的value值
    print(k,v)

  列表、元組、字典都可以通過切片的方式進行增刪改查。

Pyhton編程(五)之基本數據類型-列表、元組、字典