小馬哥正在為Python的所有常見知識進行匯總,也會有實戰項目,點擊全棧工程師養成---Python內容導航頁查看
導語
集合數據結構與簡單數據結構區別
在上一篇"Python快速學習1-變量和簡單數據類型"中知道,簡單數據類型指向一個內存空間,這個內存存儲一個數據,如果我們需要存儲一系列數據,用簡單數據類型就不合適了,Python給我們準備了集合數據結構: 序列,字典.
主要內容
1.序列(列表,數組,字符串)
2,字典
開始了
序列總結
首先序列包含三種: 字符串,列表,元組
一,列表
列表
二,元組
元組
三,字典
全部代碼
#01,創建列表
lst1 = ['百度','阿里','騰訊','智能天下']
lst2 = list(range(0,10))
print(lst1,'\n',lst2,sep='',end='\n=====================================\n')
#02,創建元組
tup1 = ('百度','阿里','騰訊','智能天下')
tup2 = tuple(range(0,10))
print(tup1,'\n',tup2,sep='',end='\n=====================================\n')
#03,創建字符串
str1 = 'hello 小馬哥'
str2 = str('hello Python')
print(str1,'\n',str2,sep='',end='\n=====================================\n')
#什么是可變和不可變
print('List修改前ID: {0} ,修改前的List內容:{1}'.format(id(lst1),lst1))
lst1[0] = '華為'
print('List修改后ID: {0} ,修改后的List內容:{1}'.format(id(lst1),lst1),end='\n=====================================\n')
print('Tuple修改前ID: {0} ,修改前的Tuple內容:{1}'.format(id(tup1),tup1))
#tup1[0] = '華為'
print('Tuple修改后ID: {0} ,修改后的Tuple內容:{1}'.format(id(tup1),tup1),end='\n=====================================\n')
print('String修改前ID: {0} ,修改前的String內容:{1}'.format(id(str1),str1))
str1 = 'hello 小馬'
print('String修改后ID: {0} ,修改后的String內容:{1}'.format(id(str1),str1),end='\n=====================================\n')
#列表和元組的通用方法
companys = ['百度', '阿里', '騰訊', '智能天下']
print('companys: ',companys,end='\n=====================================\n')
'''
訪問元素方式1: 索引訪問()訪問某一個元素
'''
print('companys[0]: ',companys[0])
print('companys[2]: ',companys[3])
#Python具有負數索引,負號代表在右邊開始
print('companys[-1]: ',companys[-1],end='\n=====================================\n')
'''
訪問元素方式2: 切片訪問(訪問某一個范圍元素)
'''
print('companys[0:2]: ',companys[0:2])
#證明切片訪問是左閉右開區間 [m,n) -->范圍 包括索引為m,不包括索引為n的元素
print('companys[0:1]: ',companys[0:1])
#Python對于切片也是可以使用負索引的,但是同樣注意,左邊界的索引要小于右邊界,同時,右邊界是取不到的
print('companys[-4:-1]: ',companys[-3:-1])
# 切片的步長
print('companys[0:3:2]帶步長: ',companys[0:3:2],end='\n=====================================\n')
'''
訪問元素方式3: 切片缺省邊界
'''
#如何使用切片取到最后兩個元素呢
print('companys[2:3]: ',companys[2:3]) #這樣只能取到索引為2的第三個元素
print('companys[-2:-1]: ',companys[-2:-1])#使用負索引也是同樣結果,取不到最后一個,因為區間是左閉右開的
print('companys[-2:]: ',companys[-2:]) #缺省不寫就能取到了
print('companys[:-1]: ',companys[:-1])
print('companys[:]: ',companys[:],end='\n=====================================\n')
#加法 (其實就是拼接的作用)
companys_plus = ['字節跳動','京東','滴滴','美團']
allCompany = companys + companys_plus
print('allCompany; ',allCompany)
#乘法(和加法是一樣的,乘多少,就是多少個list拼接)
person = ['中國人']
allPerson = person*10 #意思10個person列表拼接
print('allPerson: ',allPerson,end='\n=====================================\n')
# 整點python的所謂簡潔和優雅
baidu,ali,tencent,zntx = companys
#練習一下: 取1--100內的所有偶數,能馬上想到的方法是什么? 搞一個循環,然后每個數%2==0,然后放到list里面,有點違背Python優雅之道
#那么試試Python的優雅
#numbers = list(range(2,101,2)) #當然可以直接這樣創建,這里為了熟悉切片的操作,換下面的方式
numbers = list(range(1,101))
print("numbers[1::2]: ",numbers[1::2],end='\n=====================================\n')
小馬哥正在為Python的所有常見知識進行匯總,也會有實戰項目,點擊全棧工程師養成---Python內容導航頁查看