Python學習筆記(七)列表
標簽: Python
Python學習筆記(七)列表
一、列表
1、列表的應用場景
2、列表的格式
列表可以一次性存儲多個數據,*且可以為不同數據類型。*但一般為了后期方便控制,一般存儲相同數據類型。
[數據1,數據2,數據3,...]
3、列表的常用操作函數
3.1 查找
3.1.1 下標
name_list=['Tom','Lisa','Rose']
print(name_list[0]) #Tom
print(name_list[1]) #Lisa
print(name_list[2]) #Rose
3.1.2 函數
例子 :
name_list = ['Tom','Lisa','Rose']
# 1. 下標查找
print(name_list[0]) #Tom
print(name_list[1]) #Lisa
print(name_list[2]) #Rose
#函數查找
# 2. index()
print(name_list.index('Lisa'))
print(name_list.index('Rose'))
# 3. count()
print(name_list.count('Tom'))
print(name_list.count('Jack'))
# 4. len()
print('列表中數據個數:',len(name_list))
結果截圖:
3.1.3 判斷是否存在
案例1:
name_list = ['Tom','Lisa','Rose']
# 1.in
print('Tom'in name_list) #True
print('Linda'in name_list) #False
# 2.not in
print('Tom' not in name_list) #False
print('Linda'not in name_list) #True
案例2:
# 需求:用戶注冊郵箱輸入賬號名,如果這個賬號名存在,提示用戶;否則,成功注冊
account = input('請您輸入賬號:')
if account in name_list:
print('此賬號已經注冊,請重新輸入賬號')
else:
print('成功注冊此賬號')
3.2 增加數據
增加指定數據到列表中。
3.2.1 append():列表結尾添加數據。如果數據是一個序列,則將這個序列直接添加到列表結尾。
語法:
列表序列.append(數據)
3.2.2 extend():列表結尾添加數據。如果數據是一個序列,則將這個序列的數據拆開一一添加到列表結尾。
語法:
列表序列.extend(數據)
3.2.3 inser():指定位置新增數據。
語法:
列表序列.insert(位置下標,數據)
實例:
#列表之添加函數
# 1. append()
name_list1 = ['Tom','Lisa','Rose']
print(name_list1.append('Jack')) #append()函數沒有返回值
print(name_list1) #將Jack追加到序列結尾,說明序列是可變數據類型
name_list1.append([11,22]) #append()追加的數據如果是一個序列,那么它是將整個序列追加到原列表結尾
print(name_list1)
# 2.extend()
name_list2 = ['Tom','Lisa','Rose']
name_list2.extend('Jack')
print(name_list2) #extend()追加的數據如果是一個序列,那么它是將序列拆開逐一追加到原列表結尾
name_list2.extend([11,23,72])
print(name_list2)
# 3.insert()
name_list3 = ['Tom','Lisa','Rose']
name_list3.insert(2,'Jack') #在下標位置數據前添加
print(name_list3)
結果截圖:
3.3 刪除
name_list1 = ['Tom','Lisa','Rose']
del name_list1 #del(name_list1)
print(name_list1)
del還可以刪除指定下標的數據
# del還可以刪除指定下標的數據
del name_list1[0]
print(name_list1)
name_list1 = ['Tom','Lisa','Rose']
#pop() -- 刪除指定下標的數據,如果不指定下標,默認刪除最后一個數據。
# 無論是按照下標還是最后一個,pop函數都會返回這個被刪除的數據
print(name_list1.pop(2)) #返回被刪除元素
print(name_list1) #刪除后原列表保留的數據
name_list1 = ['Tom','Lisa','Rose']
# remove(數據)
name_list1.remove('Rose')
print(name_list1)
name_list1 = ['Tom','Lisa','Rose']
# clear() -- 清空
name_list1.clear()
print(name_list1)
3.4 修改
name_list1 = ['Tom','Lisa','Rose']
# 1.修改指定下標的數據
name_list1[0] == 'Jack'
print(name_list1)
# 2,逆序 reverse()
list1 = [6,3,5,24,2]
list1.reverse()
print(list1) #[2,24,5,3,6]
# 3.sort() 排序:升序 和 降序
list2 = [87,72,99,100]
list2.sort() #默認升序
print(list2)
list2.sort(reverse= False) #升序
print(list2)
list2.sort(reverse = True) #降序
print(list2)
3.5 復制
函數:copy()
# copy() -- 復制數據
name_list = ['Tom','Lisa','Rose']
name_list2 = name_list.copy()
print(name_list2) #['Tom','Lisa','Rose']
4、列表的循環遍歷
需求:依次打印列表中的各個數據。
4.1 while
name_list = ['Tom','Lisa','Rose']
# 1.while
i = 0
while i < len(name_list):
print(name_list[i],end=' ')
i += 1
4.2 for
name_list = ['Tom','Lisa','Rose']
# 2.for
for j in name_list:
print(j,end=' ')
注意:比較同一需求情況下,for循環的代碼量遠小于while,一般數據遍歷優先考慮for循環。
5.列表嵌套
例子:
name_list = [['Tom','Lily','Rose'],['小明','李四'],['xiaoming','xiaohang']]
print(name_list)
print(name_list[0]) #['Tom','Lily','Rose']
# 列表嵌套時的數據查詢
print(name_list[1][1]) #李四
結果截圖:
6.綜合運用 – 隨機分配辦公室
需求:有三個辦公室,8位老師隨機分配到3個辦公室。
代碼:
#需求:有三個辦公室,8位老師隨機分配到3個辦公室
'''
步驟:
1.準備數據
1.1 8 位老師 -- 列表
1.2 3 個辦公室 -- 列表嵌套
2.分配老師到辦公室
***隨機分配:即將老師名字分配到辦公室
3.驗證是否分配成功
打印辦公室的詳細信息,每個辦公室的人數和老師的名字
'''
import random
# 1.準備數據
Teacher = ['A','B','C','D','E','F','G','H']
Office = [[],[],[]]
# 2.分配老師到辦公室 -- 取到每個老師追加到某個辦公室 -- 遍歷老師數據
for name in Teacher:
# 列表追加數據 -- append(選擇它) extend insert
# xx[0] -- 要隨機下標
num = random.randint(0,2)
Office[num].append(name)
print(Office)
# 3. 驗證是否打印成功
i = 1
for office in Office:
print(f'辦公室{i}人數為{len(office)},老師的名字分別為:')
for name in office:
print(name)
i += 1
結果截圖(1):
結果截圖(2):
7.總結
智能推薦
Python學習(七)——列表生成式、生成器
python2中: 異同 range() xrange() 語法 一樣 一樣 返回 列表 生成器 生成 真實列表 用多少生成多少 因此與xrange()相比range()更加節省內存.(之前寫反了,經weixin_41462437朋友糾正,改回來了) xrange(): 輸出: range(): 輸出: 列表生成式 形式:[for循環] ①單層for循環: ②多層for循環: ③for循環后加if...
Python學習筆記之——列表, 元組
目錄 列表 列表推導 生成器表達式 元組 不可變的元組如果含有可變對象呢? 列表 列表推導 列表推導,創建列表的快捷方式, list comprehension , listcomps 生成器表達式( generator expression) 則稱為 genexps for 循環 列表推導 列表推導...
Python課程學習筆記——列表操作
#1、創建列表 同一個列表中可以存放任意基本數據類型 list1=[]; list2=[1,1.1,‘1.1.2’,1+2j]; list3=[1,2,3,4]; list4=[“a”,“b”,“c”,“d”]; #2、通過索引下標訪問列表元素 一次訪問一個元素 print(&l...
python學習筆記(二)列表操作
列表及列表操作: 列表是最常用的數據類型之一,列表也叫數組,列表定義,使用[]即可;列表里面可以再套列表,一個里面套一個列表,叫二維數組;一個里面套一個列表,里面的列表再套一個列表,這個叫三位數組,套幾層就是幾維,定義格式如下: 通過下列訪問中的元素,下標從0開始計數,也就是說,比如一個列表,有5個元素,那么它第一個元素下標就是0,第二個就是1,以此類推,字符串也有下標,和列...
Python學習筆記(6)字典、元組、列表
1.字典 Python內置了字典的支持,也就是java中的map。使用鍵-值對(Key,Value)的形式存儲數據,其中Key必須是唯一的,而value值可以重復出現,Key的類型必須是不可變的,如數字、字符串。元組,而Value可以是任何類型,如列表,字典,字符串等。 和list對比優點是能夠極快的查詢到value,而缺...
猜你喜歡
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...