「原創」「python自學筆記」python列表,元組,集合,字典總結

「原創」「python自學筆記」python列表,元組,集合,字典總結

一. 列表

  • 列表是一個有序可擴展的數組,類似於java中的List
  • 列表存放的值的類型可以不唯一

常用操作示例

'''創建列表'''
list1 = [0, 1, 2, 3, 4, 5, 'a', 'b', 'c', 'd', 'e', 2, 5, 8]
print(type(list1))
print(list1)
'''列表的切片'''
# 步長1,正序,返回索引1到3
print(list1[1:4])
# 步長1,正序,返回索引-5到-1
print(list1[-5:])
# 步長2,正序,返回索引1到5
print(list1[1:6:2])
# 步長1,正序,返回索引0到最大
print(list1[:])
# 步長2,正序,返回索引0到最大
print(list1[::2])
'''列表的常用操作'''
# index 查找指定元素的位置 6
print(list1.index('a'))
# count 統計指定元素出現次數 2
print(list1.count(2))
# 追加元素
list1.append(9)

print(list1)
# 修改索引2的元素為 'z'
list1[2] = 'z'
print(list1)
# 索引3的位置插入元素 'x'
list1.insert(3, 'x')
print(list1)
# 合併列表
list2 = ['hello', 'world']
print(list1 + list2)
list1.extend(list2)
print(list1)
# 刪除索引是3的元素,並返回
print(list1.pop(3))
print(list1)
# 刪除第一個元素 5
list1.remove(5)
print(list1)
# 刪除最後兩個元素
del list1[-2:]
print(list1)
# 刪除列表
del list2
# print(list2)
# 默認排序,按照ASCII排序
list2 = ['s', 't', 'Tom', 'Mary', 'Jack']
list2.sort()
print(list2)
# 倒序列表
list2.reverse()
print(list2)
# 引用賦值
list3 = list1
list1[0] = 'd'
print(list1, list3)
# 淺copy
list4 = list1.copy()
list1[0] = 'E'
print(list1, list4)

二. 元組

  • 元組是一個有序固定大小的只讀數組,類似於java中的枚舉
  • 元組內的元素不可以改變
  • 元組存放的值的類型可以不唯一

常用操作示例

'''創建元組'''
countries = ('China', 'England', 'Hungary', 'Belgium', 'England', 1000)
# 元組類型
print(type(countries))
# 獲取指定索引元素
print(countries[0])
# 獲取指定元素索引
print(countries.index('China'))
# 切片,獲取第二個元素開始的所有元素
print(countries[1:])
# 計算指定元素的個數
print(countries.count('England'))

三. 集合

  • 集合是基於hash的一個無序可擴展的數組,類似於java中的HashSet
  • 因為基於hash,所以集合內的元素不會重複
  • 集合存放的值的類型可以不唯一

常用操作示例

'''創建集合'''
set1 = {1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 'stone'}
print(type(set1))
print(set1)
'''集合常用操作'''
# 添加元素
set1.add(5)
print(set1)
set1.add(6)
print(set1)
# 刪除元素
# 隨機刪除
set1.pop()
print(set1)
# 指定刪除,若元素不存在,則報錯
set1.remove(6)
print(set1)
# set1.remove(10)
# 指定刪除,若元素不存在,不報錯
set1.discard(5)
print(set1)
set1.discard(10)
print(set1)
# 集合合併
set2 = {5, 6, 7, 8, 9}
set1.update(set2)
print(set1)
# 合併列表
list1 = [1, 2]
set1.update(list1)
print(set1)
# 合併元組
tuple1 = (9, 10)
set1.update(tuple1)
print(set1)
# 引用賦值
set3 = set1
set1.pop()
print(set1, set3)

# 淺copy
set4 = set1.copy()
set1.pop()
print(set1, set4)
# 集合運算
set5 = {6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
# 交集
print(set1.intersection(set5))
print(set1 & set5)
# 並集
print(set1.union(set5))
print(set1 | set5)
# 差集
print(set1.difference(set5))
print(set1 - set5)
print(set5.difference(set1))
print(set5 - set1)
# 對稱差集, 兩個差集的並集
print(set1.symmetric_difference(set5))

四. 字典

  • 字典是基於Hash的Map,類似於java中的HashMap
  • 字典存放的key-value對的類型可以不唯一

常用操作示例

'''創建字典'''
dict1 = {
'China': ('CHN', '北京', '漢語'),
'England': ('GBR', '倫敦', '英語'),
'Swiss': ('CHE', '伯爾尼', '德語')
}
print(type(dict1))
print(dict1)
'''字典的常用操作'''

# 輸出key
print(dict1.keys())
# 輸出values
print(dict1.values())
# 追加元素
dict1['French'] = ('FRA', '巴黎', '法語')
print(dict1)
# 修改索引2的元素為 'z'
dict1['Swiss'] = ('CHE', '伯爾尼', '法語')
print(dict1)
# 刪除索引是3的元素,並返回
print(dict1.pop('Swiss'))
print(dict1)
# 刪除第一個元素 5
del dict1['French']
print(dict1)
# 字典合併
dict2 = {
'Swiss': ('CHE', '伯爾尼', '法語'),
'French': ('FRA', '巴黎', '法語'),
1000: 'country'
}
dict1.update(dict2)
print(dict1)
# 引用賦值
dict3 = dict1
dict1['England'] = ('GBR', '倫敦?', '英語?')
print(dict1, dict3)
# 淺copy
dict4 = dict1.copy()
dict1['England'] = ('GBR', '倫敦!', '英語!')
print(dict1, dict4)
# 清空
dict1.clear()
print(dict1)

完整的代碼請參考:

https://gitee.com/dean2083/python-learning

day2

堅持總會有收穫


分享到:


相關文章: