【Python學習筆記Day12】3.3 列表三(操作符、BIF內置方法、複製、列表推導式)

1. 列表的常用操作符

1)比較操作符
print("比較操作符")
list1 = [123]
list2 = [456]
print(list1 > list2)    #一個元素的列表比較, 打印Flase
list1 = [123,456]
list2 = [234,123]
print(list1 > list2)    #兩個元素的列表比較, 打印False, 和字符串的比較相同,比較ASSIC

在這裏插入圖片描述

2)邏輯操作符 and or not
print("邏輯操作符")
list3 = [123,456]
result = list1 < list2 and list1 == list3
print(result)    #  打印結果爲True

在這裏插入圖片描述

3)連接操作符 +
print("連接操作符")
list4 = list1 + list2
print(list4)    #兩個列表的,拼接, 但是儘量使用extend語法來添加一個列表

在這裏插入圖片描述

4)重複操作符 *
print("重複操作符")
print(list3 *3) #list3 重複3次
list3 *= 3      #list3 倍增3次
print(list3)
list3 *= 5      #list3 再繼續倍增3次
print(list3)

在這裏插入圖片描述

5)成員關係操作符
print("成員關係操作符")
print(123 in list3)     #返回True

在這裏插入圖片描述
#對於列表裏面的列表裏的元素

list5 = [1,2,3, ['weivid',2,344],4]  #weivid是列表中列表中的元素
print('weivid' in list5)    #返回False
print('weivid' in list5[3]) #返回True
#與訪問數組的二維類似
print(list5[3][1])  #訪問列表中列表中的元素。打印weivid

在這裏插入圖片描述

2. 列表類型的內置方法BIF

查看內置的BIF方法

print(dir(list))

在這裏插入圖片描述

1)count方法 計算參數再列表中出現的次數
print(list3)
count1 = list3.count(123)
print(count1)   #打印15次,123在list3 中出現的參數

在這裏插入圖片描述

2)index方法 返回參數在列表中位置
index1 = list3.index(123)
print(index1)   #打印123出現的第一個位置,打印 0
index2 = list3.index(123, 3,7)
print(index2)   #打印 4 , 表示在第4個和第8 個位置之間,出現123 的位置是第5 個

在這裏插入圖片描述

3)reverse方法 將整個列表翻轉
print(list5)
list5.reverse()
print(list5)  #順序會翻轉

在這裏插入圖片描述

4)sort 方法 用指定方式對列表排序,默認從小到大

sort(func,key,reverse=False) 默認

list6 = [1,3,4,523,5,56,77,51]
print(list6)
list6.sort()
print(list6)    #從小到大排序

在這裏插入圖片描述
#從大到小排序

list6.sort(reverse = True)
print(list6)    #從大到小排序

在這裏插入圖片描述

5)copy()方法 和使用分片拷貝複製的方法是一樣的
print("copy函數")
print(list6)
list6copy = list6.copy() #複製
print(list6copy)

在這裏插入圖片描述

6)clear()方法 用於清空列表中的元素,得到一個空列表
print("clear函數")
print(list6)
list6.clear()
print(list6)    #空列表

在這裏插入圖片描述

3. 列表的拷貝

上一講中最後也提到了列表的拷貝,分片
使用分片創建列表的拷貝

list6 = [1,3,4,523,5,56,77,51]
print('\n',list6)
list7 = list6[:]    #拷貝另一個列表,兩份
list8 = list6       #換一個列表標籤,並沒有複製

list6.sort()
print(list7)
print(list8)    #list8也跟着sort對list排序後的列表改變了

在這裏插入圖片描述

4. 列表推導式/列表解析

靈感取自函數式編程語言 Haskell,可以動態的創建列表
[表達式 for A in B]

print("列表推導式")
list0 = [i*i for i in range(10)]
print(list0) #打印0——9的平方數

在這裏插入圖片描述
也可以寫成:

"""
list0 = []
for i in range(10):
    list0.append(i*i)
"""

練習題

1.將下面的的列表中的weivid修改爲wangwei

list1 = [1,[1,2,[‘weivid’,0,2]],3,2,1,3,43]

list1 = [1,[1,2,['weivid',0,2]],3,2,1,3,43]
list1[1][2][0] = 'wangwei'
2. 對一個列表驚醒順序排序和逆序排序,可以使用什麼方法

順序排序可以使用 列表名.sort()
逆序排序可以使用 列表名.sort(reverse = True)或者
列表名.sort() 列表名.reverse()

3. 用程序還原下列表 列表推導式

list1 = [(x,y) for x in range(10) for y in range(10) if x%2 == 0 if y%2 != 0]

list1 = []
for x in range(10):
    for y in range(10):
        if x%2 == 0:
            if y%2 != 0:
                list1.append((x,y))
print(list1)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章