日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学习使我快乐 第五天

發布時間:2024/1/18 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习使我快乐 第五天 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Day 05

一.列表運算

1.列表的重復

  • 可直接使用*使其重復,需注意 *號需跟整數,意思是代表重復次數。
  • 例:
list1=[1, 2, 3 , 4]print(list1*3)

打印結果為 [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

2.列表的拼接

  • 可直接使用+進行拼接。
list1=[1, 2, 3, 4] list2=[5, 6, 7, 8] print(list1+list2)

打印結果為[1, 2, 3, 4,5, 6, 7, 8]

3.成員運算 : in、not in,運算的結果為布爾值。

print(3 in [1, 2, 3]) print([3] in [1, 2, 3])

打印結果為:True,False

4.比較大小

a. 比較大小的元素必須是同類型的
b. 比較大小比較的是第一隊不相等元素的大小(容器)
c. 數字正常比較大小

list1 = [1, 2, 3, 4] list2 = [1, 2, 4, 5] print(list1 < list2)list1 = [1, 2, '3', 4] list2 = [1, 2, '4', 5] print(list1 < list2)list1 = ['1', 2, 3, 4] list2 = [1, 2, 4, 5] # 此段打印結果為:TypeError: '<' not supported between instances of 'str' and 'int' # 不同類型無法作比較

打印結果為:True,True

二、列表的放法和函數

1.獲取同類型的最大值或最小值

num = [1, 2, 3, 4] print(max(num)) print(min(num))

打印結果為:1,4

2.count : 統計某個元素的出現個數

num = [1, 2, 3, 4] print(num.count(num[3])) print(num.count(50)) # 沒有這個元素則會報 0

打印結果為:1,0

3.sum 求和

num = [1, 2, 3, 4] print(sum(num))

打印結果為:10

4.reverse:將列表倒序,返回值為None,直接修改列表本身。

num = [1, 2, 3, 4] print(num.reverse()) print(num)

打印結果為:[4, 3, 2, 1]

5.sorted:將列表從小到大排序,生成新的列表。

sort:將列表從小到大排序,修改原來的列表。

num1 = [23, 50, 30, 75] print(sorted(num1)) print(sorted(num1, reverse=True)) ''' 結果為 [23, 30, 50, 75] [75, 50, 30, 23] ''' print(num1.sort(reverse=False)) print(num1) print(num1.sort(reverse=True)) print(num1) ''' 結果為 None [23, 30, 50, 75] None [75, 50, 30, 23] '''

6.extend():將一個容器中的元素添加到列表中。

num1.extend('abcde') print(num1) num2 = ['a', 7, 8, 9] num1.extend(num2)

打印結果為:
[75, 50, 30, 23, ‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
[75, 50, 30, 23, ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘a’, 7, 8, 9]

7.index:查找某個元素

a. 從左向右查找,找到元素立馬停止,返回下標。
b. 如果元素不存在,將會報錯。

num1=[75, 50, 30, 23, 'a', 'b', 'c', 'd', 'e', 'a', 7, 8, 9] index1 = num1.index('a') print(index1) index2 = num1.index('a', 5)# 從下標為5的元素開始查找 print(index2)

打印結果為元素下標:4,9

練習:不適用 index 方法尋找第二個元素a

num1=[75, 50, 30, 23, ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘a’, 7, 8, 9]

total = 0 for i in range(len(num1)):if num1[i] == 'a':total += 1if total == 2:print(i)

三、列表去重

1. 有一個列表,要求去掉重復的人名

  • 例如:names = [‘張三’, ‘李四’, ‘大黃’, ‘張三’,‘張三’] -> names = [‘張三’, ‘李四’, ‘大黃’]
    解析:方法一
names = ['張三', '李四', '大黃', '張三', '張三'] name_list = [] for i in names:if i not in name_list:name_list.append(i) print(name_list)

解析:方法二

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)

四、列表的推導式(列表的生成式)

  • 列表推導式(列表生成式):生成一個有元素的列表
    a. 語法1 :[表達式 i for 變量 in rongqi]
    for 循環每執行一次,表達式就會將其生成的結果添加到列表中。
    例:
    (1).將1-100的整數生成一個列表:

    nums = [i for i in range(1, 101)] print(nums)

    打印結果為:[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生成一個列表:

    nums = [1 for _ in range(10)]

    打印結果為:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
    b.append()適用于所有向列表中追加元素的操作;列表推導式在某些情況下可以替代append()

    import timestart = time.time() list1 = [] for i in range(1, 10000001):list1.append(i) end = time.time() print(f'append 方法一共花費{end - start}秒')start = time.time() list2 = [i for i in range(1, 10000001)] end = time.time() print(f'推導式 方法一共花費{end - start}秒')

    得出結果:性能:列表推導式>append()

    c.語法二:[表達式 for 變量 in 容器 if 條件] 注:只能加if,不能在家其他命令
    for 循環執行一次,if 分支判斷一次,條件成立才會向列表添加元素

    例:將1-100內偶數生成一個列表:

    nums = [i for i in range(1,101) if i % 2 == 0 ] print(nums)

    打印結果為:[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. 語法三:[表達式 for 變量 in 容器 for 變量 in 容器 ] 幾乎用不到
    例:將1-10打印3次:

    list4 = [i for _ in range(3) for i in range(1, 11)] print(list4)

    打印結果為:[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]

  • 五、隨機模塊

    1. random:隨機模塊,適用于俄羅斯輪盤、抽獎等。

    • import random
    • randint(a,b) -> 從[a,b]閉區間中隨機獲取一個整數
    • randrange()->約等于randint+range
    • 例:
    import random # randrange()->約等于randint+rangeprint(random.randrange(1, 4, 2))# choice()->從容器中隨機獲取一個元素print(random.choice([1, 2, 3, 4]))# choices()->從容器中隨機獲取k個元素,有放回的抽取元素print(random.choices([1, 2, 3, 4], k=5))# sample()->從有序容器中無放回的抽取元素,也可以獲取k個元素print(random.sample([1, 2, 3, 4], k=3))# shffule()->將有序容器隨機打亂順序,無返回值,修改序列本身list=[1, 2, 3, 4]print(random.shuffle(list))print(list)

    打印結果為:
    1
    4
    [4, 3, 3, 2, 3]
    [1, 3, 4]
    None
    [1, 4, 2, 3]

    練習:課堂點名器

    names = ['張三','李四','王二','麻子'] random.shuffle(names) while True:# 此處可進行暗箱操作 result = random.choices(names, k=1)if result == ['王二']:# 隨機至王二在進行輸出break print(f'被抽中的同學為:{result}') # 會一直是王二
    • 使用PyQt/wxpython等GUI(圖形可視化)進行可視化
    • 使用pyinstall將程序封裝成windows的exe可執行文件

    總結

    以上是生活随笔為你收集整理的学习使我快乐 第五天的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。