学习使我快乐 第五天
Day 05
一.列表運(yùn)算
1.列表的重復(fù)
- 可直接使用*使其重復(fù),需注意 *號需跟整數(shù),意思是代表重復(fù)次數(shù)。
- 例:
打印結(jié)果為 [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
2.列表的拼接
- 可直接使用+進(jìn)行拼接。
- 例
打印結(jié)果為[1, 2, 3, 4,5, 6, 7, 8]
3.成員運(yùn)算 : in、not in,運(yùn)算的結(jié)果為布爾值。
- 例
打印結(jié)果為:True,False
4.比較大小
a. 比較大小的元素必須是同類型的
b. 比較大小比較的是第一隊(duì)不相等元素的大小(容器)
c. 數(shù)字正常比較大小
- 例
打印結(jié)果為:True,True
二、列表的放法和函數(shù)
1.獲取同類型的最大值或最小值
- 例
打印結(jié)果為:1,4
2.count : 統(tǒng)計(jì)某個元素的出現(xiàn)個數(shù)
- 例
打印結(jié)果為:1,0
3.sum 求和
- 例
打印結(jié)果為:10
4.reverse:將列表倒序,返回值為None,直接修改列表本身。
- 例
打印結(jié)果為:[4, 3, 2, 1]
5.sorted:將列表從小到大排序,生成新的列表。
sort:將列表從小到大排序,修改原來的列表。
- 例
6.extend():將一個容器中的元素添加到列表中。
- 例
打印結(jié)果為:
[75, 50, 30, 23, ‘a(chǎn)’, ‘b’, ‘c’, ‘d’, ‘e’]
[75, 50, 30, 23, ‘a(chǎn)’, ‘b’, ‘c’, ‘d’, ‘e’, ‘a(chǎn)’, 7, 8, 9]
7.index:查找某個元素
a. 從左向右查找,找到元素立馬停止,返回下標(biāo)。
b. 如果元素不存在,將會報錯。
- 例
打印結(jié)果為元素下標(biāo):4,9
練習(xí):不適用 index 方法尋找第二個元素a
num1=[75, 50, 30, 23, ‘a(chǎn)’, ‘b’, ‘c’, ‘d’, ‘e’, ‘a(chǎn)’, 7, 8, 9]
total = 0 for i in range(len(num1)):if num1[i] == 'a':total += 1if total == 2:print(i)三、列表去重
1. 有一個列表,要求去掉重復(fù)的人名
- 例如:names = [‘張三’, ‘李四’, ‘大黃’, ‘張三’,‘張三’] -> names = [‘張三’, ‘李四’, ‘大黃’]
解析:方法一
解析:方法二
names = ['張三', '李四', '大黃', '張三', '張三'] for i in range(len(names),-1,-1):if i names.count(i)>1:del names[i]print(names)解析:方法三
index=0 while index <= len(names)-1:if i names.count(i)>1:del names[index]else:index+=1print(names)四、列表的推導(dǎo)式(列表的生成式)
列表推導(dǎo)式(列表生成式):生成一個有元素的列表
a. 語法1 :[表達(dá)式 i for 變量 in rongqi]
for 循環(huán)每執(zhí)行一次,表達(dá)式就會將其生成的結(jié)果添加到列表中。
例:
(1).將1-100的整數(shù)生成一個列表:
打印結(jié)果為:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
(2).將10個1生成一個列表:
打印結(jié)果為:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
b.append()適用于所有向列表中追加元素的操作;列表推導(dǎo)式在某些情況下可以替代append()
得出結(jié)果:性能:列表推導(dǎo)式>append()
c.語法二:[表達(dá)式 for 變量 in 容器 if 條件] 注:只能加if,不能在家其他命令
for 循環(huán)執(zhí)行一次,if 分支判斷一次,條件成立才會向列表添加元素
例:將1-100內(nèi)偶數(shù)生成一個列表:
nums = [i for i in range(1,101) if i % 2 == 0 ] print(nums)打印結(jié)果為:[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]
d. 語法三:[表達(dá)式 for 變量 in 容器 for 變量 in 容器 ] 幾乎用不到
例:將1-10打印3次:
打印結(jié)果為:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
五、隨機(jī)模塊
1. random:隨機(jī)模塊,適用于俄羅斯輪盤、抽獎等。
- import random
- randint(a,b) -> 從[a,b]閉區(qū)間中隨機(jī)獲取一個整數(shù)
- randrange()->約等于randint+range
- 例:
打印結(jié)果為:
1
4
[4, 3, 3, 2, 3]
[1, 3, 4]
None
[1, 4, 2, 3]
練習(xí):課堂點(diǎn)名器
names = ['張三','李四','王二','麻子'] random.shuffle(names) while True:# 此處可進(jìn)行暗箱操作 result = random.choices(names, k=1)if result == ['王二']:# 隨機(jī)至王二在進(jìn)行輸出break print(f'被抽中的同學(xué)為:{result}') # 會一直是王二- 使用PyQt/wxpython等GUI(圖形可視化)進(jìn)行可視化
- 使用pyinstall將程序封裝成windows的exe可執(zhí)行文件
總結(jié)
以上是生活随笔為你收集整理的学习使我快乐 第五天的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【爬虫】3.4 爬取网站复杂数据
- 下一篇: 我认为 Zig 非常难,但值得一试