日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python中常用序列數據結構

作者:泡泡怡 更新時間: 2022-07-13 編程語言

數據結構是通過某種方式(例對元素進行編號)組織在一起數據元素的集合。python中最基本的數據結構是序列,序列中被分配的序列號又稱為索引。
python中列表、元組、字符串、range對象都是有序數據結構
python中字典和集合屬于無序序列結構,但可以遍歷,字典還可以通過鍵來索引引用。

  1. 列表

列表里的元素可以是python中任何對象,包括array、DataFrame、字典 、集合、列表都可以。

(1)列表的初始化

my_list=[];#可以存在空列表
my_list.append('hello')#列表追加元素
my_list1=[0,3,6,7,10]
my_list1[2]=8 #進行索引改值

(2)列表的切片和字符串相同都是冒號.

?# 列表是有序序列,可以按序號索引引用
my_list=[9,5,3,7,10,5]
print(my_list[-1])
print(my_list[0:2])#左閉右開
print(my_list[:-1])#倒著數索引從負一開始
print(my_list[0:])  #和字符串一樣的切片索引

?

?(3)列表排序和反轉

#1.排序(使用列表的方法)
my_list1=[1,5,2,9,3]  
my_list1.sort() #默認reverse=False,即按值從小到大順序生成列表,此列表已經改變
my_list1.sort(reverse=True)#reverse=True即按值從大到小順序生成列表
c=sorted(my_list1)#原列表沒有改變
#2.反轉
my_list.reverse()

(4)列表的合并、插入、刪除元素

?#1.列表合并
my_list1=['ppy', 'ylt','wawa']
my_list2=[1,2,3]
my_list3=my_list1+my_list2#兩個列表合成一個列表,充分利用了‘+’的作用
print(my_list3*3)    #復制兩份和原來列表合并在一起
#2.列表插入元素和移除元素
my_list1.insert(2,'python')
my_list1.remove('wawa')   #移除元素'wawa'
my_list1.pop(1)   #同上一行一樣相當于移除,移除第1個元素
print(my_list1)

(5)列表的其他操作

?#1.range
range(1,10,2)#從1開始到10結束,步長是2
#2.將range轉成列表
my_list=list(range);
#3.列表的兩種遍歷輸出
#第一種
for elem in my_list: #前提my_list已經寫出了
    print(elem)
#第二種 利用索引
for i in range(len(my_list)):
    print(my_list[i])

2.元組

#1.元組定義
my_tuple1=(1,2,[2,3],'baobaoyi')   #和列表定義相似,元組里的元素是任何對象都可以
#2.元組索引
print(my_tuple1[2])
print(my_tuple1[1:3])   #返回一個元組
#3.元組合并
my_tuple1=(1,2,[2,3],'baobaoyi') 
my_tuple2=(100,'hello')
my_tuple=my_tuple1+my_tuple2
print(my_tuple)
#4.將對象轉換為元組的函數tuple()
#tuple()函數中的參數可以是列表、字符串或其他序列類型和迭代器
my_list=[4,2,6,True,'paopaoyi']   #列表
my_tuple2=tuple(my_list)    
print(my_tuple2)
my_tuple3=tuple('ABCDE')     #將字符串轉化為元組
print(my_tuple3)
print(tuple(range(10)))      #將range對象轉換為元組
#5.刪除元祖
del my_tuple3   #刪除元組
結果:
[2, 3]
(2, [2, 3])
(1, 2, [2, 3], 'baobaoyi', 100, 'hello')
(4, 2, 6, True, 'paopaoyi')
('A', 'B', 'C', 'D', 'E')
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

3.字典

  • 字典的值可以是任何對象,字典的鍵可以是數字,字符串,元組等不可變數據,但不能為列表、集合、字典等可變對象作為鍵。

(1).字典的定義和刪除

#1.第1種定義
my_dict1={'paopaoyi':100,'yaolaotou':300}    #各key-value值對沒有先后順序
print(my_dict1)
#2.第2種定義
my_dict2={}   #空字典
my_dict2['paopaoyi']=300
my_dict2['yaolaotou']=600
print(my_dict2)
#3.刪除字典
del my_dict2
結果:
{'paopaoyi': 100, 'yaolaotou': 300}
{'paopaoyi': 300, 'yaolaotou': 600}

(2)字典的索引和更新

my_dict1={'ppy':100,'oldman':300} 
my_dict2={'ooo':400,'ppy':'class'}
print(my_dict1['ppy'])#索引字典中的值
my_dict1.update(my_dict2)   #my_dict2和my_dict1中鍵一樣的就替換為my_dict2中的值,不一樣的就加到my_dict1中
print(my_dict1)
結果:
100
{'ppy': 'class', 'oldman': 300, 'ooo': 400}

(3)字典的屬性

print(my_dict1.keys ())         #返回該字典的鍵列表
print(my_dict1.values())        #返回該字典的值列表
print(my_dict1.items())         #返回該字典的鍵-值對構成的列表,列表中的元素為鍵-值對構成的元組。

(4)遍歷同列表

4.集合

  • 集合里的元素沒有重復值,集合和字典一樣屬于無序,列表和元組有序。并且集合里邊的元素不能有列表,一般情況下集合里的元素應該一個類型。
#1.集合的定義
my_set1={123,234,'asd',(2,3)}
print(my_set1)
#集合的類型轉換
my_set2=set([1,2,3,5,7,3,5,3,2,4])   #通過set函數將列表轉換為集合,重復的元素只顯示一個,這個功能類似以Series的unique()方法,這個有用
print(my_set2)

?(5)字符串

#1.拆分
my_str = '1 2 3 4 5'
my_str.split()   #默認以空格為分裂符,返回一個列表
my_str= '1,2,3,4,5'
my_str = my_str.split(',')  #以逗號為分裂符,返回一個列表
print(my_str)
#2.合并
my_str1=['AB','CD','EF']
new_str1=','.join(my_str1)#以逗號分隔符合并列表的元素
print(new_str1)
new_str2=' '.join(my_str1) #無空格符合并
print(new_str2)
#3.計數
my_str3='paopaoyi is very beautiful,beautiful,yeah'
number=my_str3.count('beautiful')
print(number)
#4.替換
my_str4='泡泡怡喜歡算法'
new_my_str4=my_str4.replace('算法','英語')
print(new_my_str4)
結果:
['1', '2', '3', '4', '5']
AB,CD,EF
AB CD EF
2
泡泡怡喜歡英語

原文鏈接:https://blog.csdn.net/m0_72662900/article/details/125748987

欄目分類
最近更新