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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python基础总结--- 列表、内置函数(4-5)

發布時間:2023/12/15 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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[起始位置:終止位置:步長] # 包含起始位置,不包含終止位置

案例

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 False

6.3.4.2 索引元素位置index(可以索引字母或者字符串)

test.index('元') 2

6.3.4.3 索引元素數量count

test.count('元') 2

6.3.4.4 索引元素位置find(只能索引字符串)

s ='xyz' s.find('y') 1

6.3.5 刪除元素

6.3.5.1 根據下標刪除del

  • del:根據下標進行刪除
movieName = ['加勒比海盜','駭客帝國','第一滴血','指環王','霍比特人','速度與激情'] del movieName [1:3] movieName ['加勒比海盜', '指環王', '霍比特人', '速度與激情']

6.3.5.2 默認刪除最后一個元素pop

  • pop:刪除最后一個元素
movieName = ['加勒比海盜','駭客帝國','第一滴血','指環王','霍比特人','速度與激情'] movieName.pop(1) movieName ['加勒比海盜', '第一滴血', '指環王', '霍比特人', '速度與激情']

6.3.5.3 元素的值進行刪除remove

  • remove:根據元素的值進行刪除
movieName = ['加勒比海盜','駭客帝國','第一滴血','指環王','霍比特人','速度與激情'] movieName.remove('駭客帝國') movieName ['加勒比海盜', '第一滴血', '指環王', '霍比特人', '速度與激情']

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

  • 方法一
a = [1,2,3,4,5,6,7,8,9,10] a
  • 方法二
list(range(1,11))
  • 方法三
L = [] for i in range(0,11):L.append(i) L
  • 方法四
[i for i in range(1,11) ]

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:

names = ['克里斯蒂亞諾·羅納爾多', '里奧·梅西', '內馬爾','路易斯·蘇亞雷斯', '曼努埃爾·諾伊爾', '羅伯特·萊萬多夫斯基', '塞爾吉奧·拉莫斯' ] scores = [94, 93, 92, 92, 92, 91, 90]

6.5.1 創建字典

字典由鍵(key)和對應值(value)成對組成。字典也被稱作關聯數組或哈希表。基本語法如下:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

注意: 每個鍵與值用冒號隔開(:),每對用逗號,每對用逗號分割,整體放在花括號中({})。 鍵必須獨一無二,但值則不必。

值可以取任何數據類型,但必須是不可變的,如字符串,數組或元組。
如果用dict實現,只需要一個“名字”-“評分”的對照表,直接根據名字查找評分,無論這個表有多大,查找速度都不會變慢。用Python寫一個dict如下

d = {'C羅納爾多': 94, '梅西': 93, '內馬爾': 92, '蘇亞雷斯':92, '諾伊爾':92, '萊萬多夫斯基':91, '拉莫斯':90} d['內馬爾'] 92

我們平時使用字典的時候, 是在字典的索引表里(比如部首表)查這個字對應的頁碼,然后直接翻到該頁,找到這個字。無論找哪個字,這種查找速度都非常快,不會隨著字典大小的增加而變慢。

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) None

6.5.4 刪除字典元素

d.pop('key') #必須要傳值,因為字典是無序的 d.popitem() 隨機刪除一個 del d['key'] d.clear() 清空字典
  • 練習題
    dict = {“k1”:“v1”,“k2”:“v2”,“k3”:“v3”}
  • 請在字典中增加一個鍵值對,“k4”:“v4”,輸出添加后的字典
  • dict = {"k1":"v1","k2":"v2","k3":"v3"} dict['k4']='v4' dict
  • 請刪除字典中鍵值對"k1":“v1”,并輸出刪除后的結果
  • dict.pop('k1') dict
  • 請獲取字典中"k2"對應的值
  • dict.get('k2')
  • 請刪除字典中鍵"k5"對應的鍵值對,如果字典中不存在鍵"k5",則不報錯,返回None
  • del dict['k3']

    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 托尼·克羅斯 88

    6.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) 7

    6.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是順序顯示的

    s = set([2,1, 3]) s {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可以做數學意義上的交集、并集等操作
  • 交集
  • s1 = set([1, 2, 3]) s2 = set([2, 3, 4]) s1 & s2 {2, 3} s1.intersection(s2) {2, 3}
  • 并集
  • s1 | s2 {1, 2, 3, 4} s1.union(s2) {1, 2, 3, 4}

    7. 常用內置函數

    Python的官方文檔介紹:Built-in Functions

    中文版文檔:Python3 內置函數
    全部的內置函數在這個連接,有一些平時很少會用到,我們只講一些常用的.

    7.1 數據類型

    a = '好學AI之Python基礎'

    7.1.1 數據類型type()

    type(a) str

    7.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)的全部內容,希望文章能夠幫你解決所遇到的問題。

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