首頁 > 軟體

python中的列表和元組範例詳解

2022-11-25 14:00:51

python中的列表和元組

# 1.列表的格式
# [資料1,資料2,資料3,···]
# 列表 可變資料型別
# 列表可以儲存多個資料,資料之間的逗號以英文逗號分隔
# 列表可以儲存不同型別資料,但一般儲存同一資料型別,這樣便於操作
# list_name = []  # 定義了一個空的列表

# 定義了一個有資料的列表
# 可以去索引和切片
print('1.列表的格式')
list_name = ['小明', '小剛', '小芳']
print(list_name[0])  # 小明
print(list_name[0][0])  # 小
print(list_name[1:])  # ['小剛', '小芳']

# 2.列表的常規操作
print()
print('2.列表的常規操作')

list_data = []

# append 追加(在容器的最後新增一個資料)
print('append()')
list_data.append('小明')
# 因為列表是可變資料型別,
# 所以不需要使用一個新的列表進行接收
print(list_data)

# pop() popup縮寫 意思是彈出
# 根據索引從列表中刪除一個資料
# 會返回彈出的資料
# 預設刪除最後一個 相當於pop(-1)
# 刪除指定的索引位置 pop(索引)
print()
print('pop()')
list_data = [1, 2, 3, 4, 5, 6, 7]
list_data.pop()  # 預設刪除最後一個數局
print(list_data)
data = list_data.pop(0)  # 刪除第一個資料
print(list_data)
print(data)  # 列印彈出的資料

# sort(key,reverse是否倒置,預設False) 對資料進行排序
# 字串排序是通過ASCII碼
print()
print('sort()')
list_data = [2, 3, 1, 5, 8, 7]
list_data.sort()  # 預設進行從小到大的排序
print(list_data)
list_data.sort(reverse=True)  # 啟動倒置,從大到小排序
print(list_data)

# reverse() 倒置列表
# sort(reverse=True) 是先排序再倒置
# reverse() 是直接倒置
print()
print('reverse()')
list_data = [1, 3, 2]
list_data.reverse()
print(list_data)

# count() 統計裡面的某一相同資料有多少個
# 某一個資料出現的次數
# 這是一個獲取東西的函數
# 不會修改原列表
print()
print('count()')
list_data = [1, 3, 2, 1, 1, 2]
print(list_data.count(1))  # 1出現的次數為3

# index() 查詢索引 找到則返回索引,沒找到則報錯
# 如果要查詢的資料有多個,則返回最近的資料的索引
# 字串中查詢有find和index
# 列表查詢只有index
print()
print('index()')
list_data = [1, 3, 2, 1, 1, 2]
data = list_data.index(3)  # 1
print(data)
# data = list_data.index(4)  # 4沒在列表,會報錯

# extend(可迭代物件) 補充 延伸 擴大
# 把可迭代物件裡面的資料一個一個的追加到列表中
print()
print('extend()')
list_data1 = [1, 2, 3]
list_data2 = [3, 4, 5]
print(list_data1+list_data2)
list_data1.extend(list_data2)
print(list_data1)
# 這兩行+和extend的結果輸出相同
# 但是要知道+只能連線兩個相同型別的資料
list_data3 = '小明'
# print(list_data1+list_data3)  # +連線不同型別會報錯
list_data1.extend(list_data3)  # 字串資料會被一個一個拆開放入
print(list_data1)  # [1, 2, 3, 3, 4, 5, '小', '明']

# remove(資料) 刪除某一個資料
# pop()根據索引刪除
# remove()根據資料刪除
print()
print('remove()')
list_data = [1, 2, 3, 2, '小明']
list_data.remove(2)  # 只能刪掉第一個2
print(list_data)
list_data.remove('小明')
print(list_data)
# list_data.remove(6)  # 6不在列表中,會報錯

# remove(資料) 刪除某一個資料
# pop()根據索引刪除
# remove()根據資料刪除
print()
print('remove()')
list_data = [1, 2, 3, 2, '小明']
list_data.remove(2)  # 只能刪掉第一個2
print(list_data)
list_data.remove('小明')
print(list_data)
# list_data.remove(6)  # 6不在列表中,會報錯

# clear() 清空列表中的資料
print()
print('clear()')
list_data = [1, 2, 3]
list_data.clear()  # 刪除列表中的全部資料
print(list_data)

# copy() 複製 深複製 淺複製
print()
print('copy()')

# 深複製 完全複製()
# 兩個變數所指向的儲存位置是同一個
list1 = [1, 2, 3]
list2 = list1
list2.pop()  # 刪除list2的3
print(list2)
print(list1)  # 但是list1的3也沒有了

# 淺複製 copy() 只複製表面資料
list1 = [1, 2, 3]
list2 = list1.copy()
list2.pop()
print(list2)
print(list1)

# 3.淺說公共方法
print()
print('3.淺說公共方法')

# len() 獲取容器裡面的長度
print('len')
print(len('12345'))  # 5
print(len([1, 2, 4]))  # 3

# del 刪除變數
print()
print('del')
list1 = [1, 2, 3]
del list1[0]  # del(list1[0])
print(list1)

# 橙色的是關鍵字引數 紫色的是函數
# 系統函數可以作為變數名稱使用,
# 但是作為變數名稱使用後,將沒有原函數的功能

# 4.遍歷列表
print()
print('4.遍歷列表')
list_data = ['a', 'b', 'c']
for i in list_data:
    print(i)

# 5.列表的巢狀使用
print()
print('5.列表的巢狀使用')
list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list2 = [1, 2, [1, 2, [1, 2]]]  # 多層巢狀
print(list1[1][1])  # 取到list1的5

# 6.元組 tuple
# 是小括號()
# 是不可變資料型別
# 不能刪除,修改,和增加
print()
print('6.元組')
tuple_data = (1, 2, 3, 4)
print(type(tuple_data))

# 單個資料的元組
tuple_data = (66,)  # 單個資料的元組,需要在後面加逗號
print(type(tuple_data))
tuple_data0 = (66)  # 如果沒有逗號,則資料型別為沒有括號時的資料型別
print(type(tuple_data0))

# 今日作業
'''
1,辦公室裡有張三,李四,王五3個人,
現在小宋也到班公室來上班了,
如何用列表來表示?並輸出辦公室有哪些人;
2,過了一會,王五有事離開了辦公室,
程式應該如何表達?並輸出辦公室有哪些人
'''
print()
print('今日作業')
list_people = ['張三', '李四', '王五']  # 建立列表儲存這三個人
list_people.append('小宋')  # 小宋來上班
# list_people.insert(3, '小宋')
print(list_people)
list_people.remove('王五')  # 王五離開
# list_people.pop(2)  # 根據索引刪除
print(list_people)

到此這篇關於python中的列表和元組的文章就介紹到這了,更多相關python列表和元組內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com