python基础总结--- 列表、内置函数(4-5)
文章目錄
- 6. 列表
- 6.1 列表的索引和切片
- 6.2 修改列表的元素值
- 6.3 列表的常用方法
- 6.3.1 添加元素append
- 6.3.2 添加元素 extend
- 6.3.3 插入元素insert
- 6.3.4 查找元素 in not in index count
- 6.3.4.1 查找 in / not in
- 6.3.4.2 索引元素位置index(可以索引字母或者字符串)
- 6.3.4.3 索引元素數量count
- 6.3.4.4 索引元素位置find(只能索引字符串)
- 6.3.5 刪除元素
- 6.3.5.1 根據下標刪除del
- 6.3.5.2 默認刪除最后一個元素pop
- 6.3.5.3 元素的值進行刪除remove
- 6.3.6 對元素排序sort reverse
- 6.3.7 列表生成list
- 6.4 元組 (Turple)
- 6.5 字典dict
- 6.5.1 創建字典
- 6.5.2 字典賦值或更改
- 6.5.3 判斷key是否存在
- 6.5.4 刪除字典元素
- 6.5.5 遍歷字典
- 6.5.6 獲取字典key
- 6.5.7獲取字典values
- 6.5.8 輸出一個list格式
- 6.5.9 多維list
- 6.5.10 計算字典元素個數
- 6.5.11 輸出字典可打印的字符串
- 6.5.12 將其他處理成字典
- 6.6 集合set
- 7. 常用內置函數
- 7.1 數據類型
- 7.1.1 數據類型type()
- 7.1.2 整數int()
- 7.1.3 浮點型float()
- 7.1.4 字符串str()
- 7.1.5 布爾類型bool()
- 7.1.6 數據列表list()
- 7.1.7 元組tuple()
- 7.1.8 字典dict()
- 7.1.9 集合set()
- 7.2 數學相關
- 7.3 其他
- 7.4 邏輯相關
- 7.5 序列相關
6. 列表
我們可以對列表這樣去理解, 就把它當成一個大桶, 當我們有一堆東西需要找個地方臨時存放在一起, 以便后續進行排序, 篩選,提取等操作時, 就弄一個列表, 先放進去.
s = [1,2,3,4,5,6,7,8,9,10] s[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]列表中的元素,沒有數據類型的限制,可以為任何數據類型
list1 = [1, 2, 3,'on','go',True,False,None] list1 [1, 2, 3, 'on', 'go', True, False, None]6.1 列表的索引和切片
list是一種有序的集合,可以隨時添加和刪除其中的元素。 也就是說列表是內部元素可變的一個容器mutable
列表和字符串一樣,是一種可迭代對象.
因此可以和字符串一樣進行索引和切片.語法方面是一樣的.
案例
L = [1,2,3,4,5,6,7,8,9,0] L [-2:0:-3] [9, 6, 3]6.2 修改列表的元素值
通過元素的索引位置來索引元素
L = ['python','java','C','PHP'] L[0] = 'R'L ['R', 'java', 'C', 'PHP']6.3 列表的常用方法
6.3.1 添加元素append
通過append可以向列表添加元素 添加數組或者字符串
L = ['Superman','Hulk','Spiderman'] L.append('Leifengxia') L ['Superman', 'Hulk', 'Spiderman', 'Leifengxia']6.3.2 添加元素 extend
通過extend可以將另一個集合中的元素逐一添加到列表中
a = [1,2] b = [3,4] a.append(b) a [1, 2, [3, 4]]6.3.3 插入元素insert
insert(index, object) 在指定位置index前插入元素object
a = ['插','入','素'] a.insert( 2,'元') a ['插', '入', '元', '素']6.3.4 查找元素 in not in index count
6.3.4.1 查找 in / not in
test = ['插', '入', '元', '素','元']'入' in test True'元' not in test False6.3.4.2 索引元素位置index(可以索引字母或者字符串)
test.index('元') 26.3.4.3 索引元素數量count
test.count('元') 26.3.4.4 索引元素位置find(只能索引字符串)
s ='xyz' s.find('y') 16.3.5 刪除元素
6.3.5.1 根據下標刪除del
- del:根據下標進行刪除
6.3.5.2 默認刪除最后一個元素pop
- pop:刪除最后一個元素
6.3.5.3 元素的值進行刪除remove
- remove:根據元素的值進行刪除
6.3.6 對元素排序sort reverse
排序(sort, reverse)
sort方法是將list按特定順序重新排列,默認為由小到大,參數reverse=True可改為倒序,由大到小。
reverse方法是將list逆置。
a = [1, 4, 2, 3] a.reverse() a [3, 2, 4, 1] a = [1, 4, 2, 3] a.sort(reverse=True) #從大到小 a [4, 3, 2, 1] a.sort(reverse = False) #從小到大 和a.sort()一樣 a [1, 2, 3, 4]6.3.7 列表生成list
- 方法一
- 方法二
- 方法三
- 方法四
6.4 元組 (Turple)
Python的元組與列表類似,不同之處在于元組的元素不能修改。元組使用小括號,列表使用方括號。
aTuple = ('et',77,99.9,'OK') aTuple ('et', 77, 99.9, 'OK') aTuple = aTuple[:3] aTuple ('et', 77, 99.9)表面上看,tuple的元素確實變了,但其實變的不是tuple的元素,而是list的元素。tuple一開始指向的list并沒有改成別的list,所以,tuple所謂的“不變”是說,tuple的每個元素,指向永遠不變。即指向’a’,就不能改成指向’b’,指向一個list,就不能改成指向其他對象,但指向的這個list本身是可變的!
6.5 字典dict
Python內置了字典:dict的支持,dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)存儲,具有極快的查找速度。
舉個例子,FIFA18球員能力值排名, 我們要根據球員的名字查找對應的成績,如果用list實現,需要兩個list:
6.5.1 創建字典
字典由鍵(key)和對應值(value)成對組成。字典也被稱作關聯數組或哈希表。基本語法如下:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}注意: 每個鍵與值用冒號隔開(:),每對用逗號,每對用逗號分割,整體放在花括號中({})。 鍵必須獨一無二,但值則不必。
值可以取任何數據類型,但必須是不可變的,如字符串,數組或元組。
如果用dict實現,只需要一個“名字”-“評分”的對照表,直接根據名字查找評分,無論這個表有多大,查找速度都不會變慢。用Python寫一個dict如下
我們平時使用字典的時候, 是在字典的索引表里(比如部首表)查這個字對應的頁碼,然后直接翻到該頁,找到這個字。無論找哪個字,這種查找速度都非常快,不會隨著字典大小的增加而變慢。
dict就是這種實現方式,給定一個名字,比如’梅西’,dict在內部就可以直接計算出梅西對應的存放評分的“頁碼”,也就是93這個數字存放的內存地址,直接取出來,速度非常快。
你可以猜到,這種key-value存儲方式,在放進去的時候,必須根據key算出value的存放位置,這樣,取的時候才能根據key直接拿到value。
把數據放入dict的方法,除了初始化時指定外,還可以通過key放入:
6.5.2 字典賦值或更改
d['key'] = value #key 存在即修改,key不存在即新增 d.setdefault('key',value) #只能新增案例
d['克羅斯'] = 90 d {'C羅納爾多': 94,'梅西': 93,'內馬爾': 92,'蘇亞雷斯': 92,'諾伊爾': 92,'萊萬多夫斯基': 91,'拉莫斯': 90,'克羅斯': 90}6.5.3 判斷key是否存在
可以通過 in判斷key是否存在
"大羅納爾多" in d False通過dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
k = d.get('卡恩') print(k) None6.5.4 刪除字典元素
d.pop('key') #必須要傳值,因為字典是無序的 d.popitem() 隨機刪除一個 del d['key'] d.clear() 清空字典- 練習題
dict = {“k1”:“v1”,“k2”:“v2”,“k3”:“v3”}
6.5.5 遍歷字典
for k,v in d.items(): #遍歷字典print(k,v)無須轉換成list 格式,保留了字典原有的特性。
for k, v in d.items():print(k,v) C羅納爾多 94 梅西 93 內馬爾 92 蘇亞雷斯 92 諾伊爾 92 萊萬多夫斯基 91 拉莫斯 90 克羅斯 90 李毅 66 托尼·克羅斯 886.5.6 獲取字典key
d.keys() dict_keys(['C羅納爾多', '梅西', '內馬爾', '蘇亞雷斯', '諾伊爾', '萊萬多夫斯基', '拉莫斯', '克羅斯'])6.5.7獲取字典values
d.values() dict_values([94, 93, 92, 92, 92, 91, 90])6.5.8 輸出一個list格式
print(d.items()) dict_items([('C羅納爾多', 94), ('梅西', 93), ('內馬爾', 92), ('蘇亞雷斯', 92), ('諾伊爾', 92), ('萊萬多夫斯基', 91), ('拉莫斯', 90)])6.5.9 多維list
print(list(d.items())) [('C羅納爾多', 94), ('梅西', 93), ('內馬爾', 92), ('蘇亞雷斯', 92), ('諾伊爾', 92), ('萊萬多夫斯基', 91), ('拉莫斯', 90)]6.5.10 計算字典元素個數
len(d) 76.5.11 輸出字典可打印的字符串
str(d) "{'C羅納爾多': 94, '梅西': 93, '內馬爾': 92, '蘇亞雷斯': 92, '諾伊爾': 92, '萊萬多夫斯基': 91, '拉莫斯': 90}"6.5.12 將其他處理成字典
names = ['羅納爾多', '梅西', '內馬爾','蘇亞雷斯', '諾伊爾', '萊萬多夫斯基', '拉莫斯' ] scores = [94, 93, 92, 92, 92, 91, 90]# 首先創建一個空字典 d = {} for number,name in enumerate(names):d[name] = scores[number] d {'羅納爾多': 94,'梅西': 93,'內馬爾': 92,'蘇亞雷斯': 92,'諾伊爾': 92,'萊萬多夫斯基': 91,'拉莫斯': 90}6.6 集合set
集合(set)是一個無序的不重復元素序列。
set和dict類似,也是一組key的集合,但不存儲value。由于key不能重復,所以,在set中,沒有重復的key。
其實集合就是一個沒有value的dict
要注意的是set是無序的, 雖然這里1, 2, 3是順序顯示的
set 一個常規應用時過濾重復值
s = set([1, 1, 2, 2, 3, 3]) s {1, 2, 3}可以通過add(key)方法添加元素到set中,但對于已經存在的值不會有效果
s.add(4) s {1, 2, 3, 4}- 兩個set可以做數學意義上的交集、并集等操作
7. 常用內置函數
Python的官方文檔介紹:Built-in Functions
中文版文檔:Python3 內置函數
全部的內置函數在這個連接,有一些平時很少會用到,我們只講一些常用的.
7.1 數據類型
a = '好學AI之Python基礎'7.1.1 數據類型type()
type(a) str7.1.2 整數int()
int()7.1.3 浮點型float()
float()7.1.4 字符串str()
str()7.1.5 布爾類型bool()
bool()7.1.6 數據列表list()
list(range(0,10,2))7.1.7 元組tuple()
7.1.8 字典dict()
7.1.9 集合set()
7.2 數學相關
- max() 最大值
- min() 最大值
- sum() 加和
- abs() 絕對值
- pow() 次方
- round() 四舍五入
- bin() 將整數轉換成二進制
- divmod() 同時取得整除值和余數值
7.3 其他
- input() 獲取用戶輸入
- print() 打印
- id() 查看變量的內存地址
- ord() 將字母轉換成對應數字
- chr() 將數字轉換成對應字母
7.4 邏輯相關
- all()
函數用于判斷給定的可迭代參數 iterable 中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。 元素除了是 0、空、FALSE 外都算 TRUE。 - any()
函數用于判斷給定的可迭代參數 iterable 是否全部為 False,則返回 False,如果有一個為 True,則返回 True。 元素除了是 0、空、FALSE 外都算 TRUE。
7.5 序列相關
range() 生成整數序列
len() 計算序列長度
enumerate() 枚舉序列, 同時返回序列的索引值和儲存值
reversed() 翻轉
sorted() 排序
filter() 過濾
map() 映射
總結
以上是生活随笔為你收集整理的python基础总结--- 列表、内置函数(4-5)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python基础总结---安装、语法、变
- 下一篇: python统计分析 --- 1.方差分