1. 程式人生 > >列表、元組、字典與集合

列表、元組、字典與集合

append 以及 一個數 fire sort data 替代 src 它的

一、列表

  序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。Python有6個序列的內置類型,但最常見的是列表和元組。序列都可以進行的操作包括索引,切片,加,乘,檢查成員。此外,Python已經內置確定序列的長度以及確定最大和最小的元素的方法。列表是最常用的Python數據類型,它可以作為一個方括號內的逗號分隔值出現。列表的數據項不需要具有相同的類型,創建一個列表,只要把逗號分隔的不同的數據項使用方括號括起來即可。

1、使用[ ]或list()創建列表

list1 = []
list2 = [a
,abc,apple,Monday]
empty = list()
empty

2、用list()轉換其他數據類型為列表

list("apple")#字符串轉列表
tuple_1 = ("apple","fire","ready")
list(tuple_1)#元祖轉列表
#split()依據分隔符切割字符串為若幹字串組成的列表
data = 1/22/333
data.split(/)
#連續分隔符返回列表會出現空串元素
data_1 = a/b//c//d/e
data_1.split(/)
data_1.split("//")#分隔符改變

3、獲取元素、修改元素以及使用切片提取元素

(1)獲取元素

data = [apple,delete,pink,blog]
print(data[0])
print(data[-1])
#當偏移量小於起始位置或大於末尾位置時會發生異常
print(data[5])#IndexError: list index out of range

(2)修改元素

data = [apple,delete,pink,blog]
data[1] = delete_1
print(data)

(3)使用切片提取元素

data = [apple,delete,pink
,blog] data[0:2] #從列表開頭開始每兩個提取一個元素 data[::2]#[‘apple‘, ‘pink‘] #尾部提取 data[::-2]#[‘blog‘, ‘delete‘] #列表逆序 data[::-1]#[‘apple‘, ‘delete‘, ‘pink‘, ‘blog‘]

4、包含列表的列表

data_0 = [apple_0,delete_0,pink_0,blog_0]
data_1 = [apple_1,delete_1,pink_1,blog_1]
data_2 = [apple_2,delete_2,pink_2,blog_2]
data = [data_0,data_1,data_2]
print(data)#[[‘apple_0‘, ‘delete_0‘, ‘pink_0‘, ‘blog_0‘], [‘apple_1‘, ‘delete_1‘, ‘pink_1‘, ‘blog_1‘], [‘apple_2‘, ‘delete_2‘, ‘pink_2‘, ‘blog_2‘]]
print(data[1])#[‘apple_1‘, ‘delete_1‘, ‘pink_1‘, ‘blog_1‘]
print(data[1][1])#delete_1

5、主要方法

技術分享圖片
#append()添加元素到尾部
data = [apple,delete,pink,blog]
data.append(form)
print(data)
#extend()或+=合並列表
data_1 = [apple,delete,pink,blog]
data_11 = [apple_11,delete_11]
data_1.extend(data_11)
print(data_1)
data_1+=data_11
print(data_1)
#insert()指定位置插入元素
data_2 = [apple,delete,pink,blog]
data_2.insert(2,hahaha)
print(data_2)
#del刪除指定位置元素
data_3 = [apple,delete,pink,blog]
del data_3[1]
print(data_3)
#remove刪除指定值的元素
data_4 = [apple,delete,pink,blog]
data_4.remove(apple)
print(data_4)
#pop獲取並刪除指定位置元素(不指定偏移量默認為-1)
data_5 = [apple,delete,pink,blog]
data_5.pop()
print(data_5)
data_5.pop(1)
print(data_5)
#index()查詢特定值位置元素
data_6 = [apple,delete,pink,blog]
data_6.index(delete)
#in判斷值是否存在
data_7 = [apple,delete,pink,blog]
apple in data_7#True
apple_1 in data_7#False
#count()特定值出現次數
data_8 = [apple,delete,apple,delete,pink,apple,blog]
data_8.count(apple)#3
#使用join()轉換為字符串******
data_9 = [apple,delete,pink,blog]
,.join(data_9)#‘apple,delete,pink,blog‘
func = #
joind = func.join(data_9)
print(joind)
joind_1 = joind.split(func)#join()是split的逆過程
print(joind_1)
#len()獲取長度
data_10 = [apple,delete,pink,blog]
len(data_10)#4
#sort重新排列元素
#sort()改變原列表內容,sorted()原列表內容不改變
  #元素是數字,默認從小到大,reverse = True可改為降序
data_11 = [b,appl,pi,del]
data_11_sd = sorted(data_11)
data_11_sd#[‘appl‘, ‘b‘, ‘del‘, ‘pi‘]
print(data_11)#[‘b‘, ‘appl‘, ‘pi‘, ‘del‘]
print(**20)
data_11.sort()
data_11#[‘appl‘, ‘b‘, ‘del‘, ‘pi‘]
  #元素是數字時
num = [2,1,4.0,3]
num.sort()
num #[1, 2, 3, 4.0]
num.sort(reverse = True)
num #[4.0, 3, 2, 1]
#使用=賦值,使用copy()復制
a = [1,2,3,4]
b = a
a[0] = 11
print(a)
print(b)
#註意:a與b指向同一個對象
c = [1,2,3,4,5]
d = c.copy()
e = list(c)
f = c[:]
c[2] = 33 # 改變c的值不影響d,e,f的值
print(d)#[1, 2, 3, 4, 5]
print(e)#[1, 2, 3, 4, 5]
print(f)#[1, 2, 3, 4, 5]
View Code 

二、元組

元組與列表類似,不同之處在於元組的元素不能修改。元組使用小括號,列表使用方括號。

#創建空元組
empty = ()
empty #()
#元素只有一個時需要跟著一個逗號***,多個元素隨意
one_tp = apple,
print(one_tp)
more_tp = apple,pink,doubt
print(more_tp)
#元組賦值給多個變量(元組解包)
marx_tp =(apple,pink,doubt)
a,b,c = marx_tp
print(a)
print(b)
print(c)
#多個變量值進行交換不需借助臨時變量
pwd = apple
ice = ping
pwd,ice = ice,pwd
print(pwd)
print(ice)
#tuple()函數的使用
data = [apple,delete,pink,blog]
tuple(data)
print(data)

註意:與元組相比,列表比較靈活(列表方法函數較多),但為什麽不在所有地方都使用列表呢?

1、元祖占用空間較少

2、不會意外修改元組值

3、元組可用作字典的鍵

4、命名元組可以作為對象的替代

5、函數的參數是以元組形式傳遞的

三、字典

字典是另一種可變容器模型,且可存儲任意類型對象,如字符串、數字、元組等其他容器模型。

字典的每個鍵值對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中。

1、創建字典

#創建空字典
empty_dt = {}
empty_dt#{}

data = {"name":"egon","age":28,"addr":"鄭州"}
print(data)

#使用dict()轉換成字典
data_dict = [["a","b"],["c","d"],["e","f"]]
dict(data_dict)#{‘a‘: ‘b‘, ‘c‘: ‘d‘, ‘e‘: ‘f‘}
data_dict_1 = [("a","b"),("c","d"),("e","f")]
dict(data_dict_1)#{‘a‘: ‘b‘, ‘c‘: ‘d‘, ‘e‘: ‘f‘}
data_dict_2 = (["a","b"],["c","d"],["e","f"])
dict(data_dict_2)#{‘a‘: ‘b‘, ‘c‘: ‘d‘, ‘e‘: ‘f‘}
#雙字符
data_dict_db = ["ab","cd","ef"]
dict(data_dict_db)#{‘a‘: ‘b‘, ‘c‘: ‘d‘, ‘e‘: ‘f‘}
data_dict_db1 = ("ab","cd","ef")
dict(data_dict_db1)#{‘a‘: ‘b‘, ‘c‘: ‘d‘, ‘e‘: ‘f‘}

2、添加、修改和獲取元素

四、集合

列表、元組、字典與集合