亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 自定義函數需要使用def語句,依次寫出函數名、括號()、括號中的參數和冒號:。 然后在縮進塊中編寫函數體,函數的返回值用return語句返回。

    一旦執行到return時,函數就執行完畢,并將結果返回。

    查看全部
    0 采集 收起 來源:Python定義函數

    2020-09-06

  • 求list的長度len()函數等等,都是Python內置的函數

    調用一個函數,需要知道函數的名稱和參數,比如求絕對值的函數abs(),它接收一個參數。abs接收一個參數,這個參數就是需要求絕對值的數,這個參數可以是整數,也可以是浮點數。傳遞一個字符串進去,將會引起錯誤。

    cmp()函數,可以比較兩個數的大小。對于cmp(x, y),如果x < y 返回 -1,如果x == y 函數返回0,如果x > y函數返回1。

    int()函數可以將合法的其它類型數據轉換為整數,str()函數可以將其它類型的數據轉換為字符串。

    查看全部
    0 采集 收起 來源:什么是函數

    2020-09-06

  • 刪除元素的方法:remove()方法和discard()方法

    discard()方法當元素不存在的時候,并不會引發錯誤。更安全高效。

    清除所有元素的方法:clear()方法。可以快速清除set中的所有元素。

    集合的子集和超集:set提供方法判斷兩個set之間的關系。如兩個集合set,判斷其中一個set是否為另外一個set的子集或超集。

    s1?=?set([1,?2,?3,?4,?5])
    s2?=?set([1,?2,?3,?4,?5,?6,?7,?8,?9])
    #?判斷s1是否為s2的子集
    s1.issubset(s2)?#?==>?True
    #?判斷s2是否為s1的超集
    s2.issuperset(s1)?#?==>?True

    判斷集合是否重合:set提供isdisjoint()方法,可以快速判斷兩個集合是否有重合,如果有重合返回False,否則返回True。

    查看全部
  • set提供了remove()方法允許刪除set中的元素。

    注意:如果remove的元素不在set里面的話,那么將會引發錯誤。需要提前判斷要remove()的元素是否在set里面,確保存在后,再進行remove。

    查看全部
  • set提供了add()方法,用于向set中添加元素。

    對于set,如果添加一個已經存在的元素,不會報錯,也不會改變什么。

    set提供了update()方法,可以一次性給set添加多個元素。

    查看全部
  • set中的元素沒有順序,因此不能像list那樣通過索引訪問。

    訪問set中的某個元素實際上就是判斷一個元素是否在set中。

    可以用in來判斷某個元素是否在set中。

    注意:set元素是區分大小寫的,必須大小寫完全匹配,才能判斷該元素在set里面。

    查看全部
  • dict的key是不重復的,當我們往dict里添加一個相同key的value時,新的value將會覆蓋舊的value。

    有時候,我們只想要dict的key,而不關心key對應的value,目的就是保證這個集合的元素不會重復,這時,set就派上用場了。

    set和list類似,擁有一系列元素,但是set里面的元素是不允許重復的,而list里面可以包含相同的元素。并且set中的元素是沒有順序的。

    創建set的方式為使用set(),并傳入一個list,list的元素會被轉換成set的元素。

    s?=?set([1,?4,?3,?2,?5])
    print(s)?#?==>?set([1,?2,?3,?4,?5])

    需要注意的是,上述打印的形式類似 list, 但它不是 list,仔細看還可以發現,打印的順序和原始 list 的順序有可能是不同的,因為set內部存儲的元素是無序的。

    當傳入重復元素的時候,發現相同元素只保留了一個,重復的元素都被去掉了。

    查看全部
    1 采集 收起 來源:什么是set

    2020-09-06

  • dict還有很多的工具函數幫助便捷的使用dict。

    1. 獲取dict的所有key:dict提供keys()函數,可以返回dict中所有的key。

    2. 獲取dict的所有value:dict提供values()函數,可以返回dict中所有的value。

    3. 清除所有元素:dict提供clear()函數,可以直接清除dict中所有的元素。

    查看全部
  • dict的第一個特點:查找速度快。無論dict有10個元素還是10萬個元素,查找速度都一樣。而list的查找速度隨著元素增加而逐漸下降。但是查找速度快的代價是占用內存很大,還會浪費很多內容。list正好相反,占用內存小,但是查找速度很慢。

    在Python3.5之前,dict中的元素是無序的,也就是dict中元素的插入順序和打印順序未必一致。但是在Python3.6、Python3.7版本中,卻得到了有序的結果。

    因為底層實現發生了改變。我們可以認為在Python3.6的版本以后,dict是有序的,但是一般而言,為了避免不必要的誤解,一般在需要有序的dict時,我們會使用一種叫做Ordereddict的字典,來確保有序。


    對于基礎數據類型,字符串、數字等,這些都是不可變的,可以作為dict的key。但是對于復雜類型數據,比如tuple是不可變的,list可變,因此tuple可以作為dict的key,但是list不可以作為dict的key,否則將會報錯。

    由于dict是按 key 查找,所以,在一個dict中,key不能重復。

    有時候我們需要打印出dict中一定條件的元素。這種情況下需要便利dict(用for循環),通過條件判斷打印滿足條件的。

    遍歷dict的兩種方法:

    1. 遍歷dict的所有key,并通過key獲得對應的value。

    2. 通過dict提供的items方法,會返回dict中的所有的元素,每個元素包括key和value。

    查看全部
  • dict提供了便捷的pop()方法用于刪除元素,pop()方法需要指定需要刪除元素的key,并返回對應的value。

    注意:pop()方法的參數是dict中的key,當key不存在的時候,會引起錯誤。

    比如在上述操作中,已經把Alice的成績刪除了,假如再次pop('Alice'),將會引發錯誤。

    在dict中,使用keys()方法,可以返回dict的所有key。在刪除某個元素的時候,可以通過這個方法先判斷某個元素是否存在。

    查看全部
  • 通過賦值語句就可以把元素添加到dict中去,但是賦值的時候,我們并不確定key是否已經在dict里面了,如果dict里面已經有對應的key了,那將會發生什么呢?

    d?=?{
    ????'Alice':?45,
    ????'Bob':?60,
    ????'Candy':?75,
    ????'David':?86,
    ????'Ellena':?49
    }
    d['Bob']?=?75

    原來Bob的成績是60,現在變成75了,因為d['Bob'] = 75的緣故。


    因此賦值語句實際上有兩個功能:

    1. 當key不存在的時候,往dict中添加對應的key:value元素。

    2. 當key存在的時候,會更新dict,用新的value替換原來的value。

    因此,使用賦值語句向dict中添加元素的時候,為了避免不必要的覆蓋問題,我們需要先判斷key是否存在再做出更新。

    查看全部
  • 可以隨時向dict中添加新的key-value。

    用賦值語句向其中添加元素。

    value事實上可以是任意類型的元素,可以是list、tuple等,可以用賦值語句向dict中添加list元素。

    還可以通過key把對應的value查詢出來,然后往類型是list的value中繼續添加元素。

    查看全部
  • dict提供了通過key查找對應value的功能。通過d[key]的形式,就可以得到對于的value。

    這和list通過下標找到對應位置的元素很類似。

    在dict中,與list相似的是,當對應的key不存在的時候,就會引發錯誤。

    因此當需要通過key找到value的時候,一定要先判斷key是否存在,然后再用d[key]來獲取對應的value。

    dict本身也提供了get方法,把key當作參數傳給get方法就可以獲取對應的value。當key不存在的時候也不會報錯,而是返回None。

    因為通過get方法在代碼實現上更加簡單,且不會引起錯誤,因此更加推薦使用get方法來獲取dict的元素。

    查看全部
  • list和tuple可以用來表示順序集合。存儲同學名字和考試信息時,如果同學名字的列表和同學成績的列表是一一對應的,那么通過下標,我們也可以找到每個同學的成績。

    事實上,可以得到這樣的映射。

    'Alice'?==>?45
    'Bob'?==>?60
    'Candy'?==>?75
    'David'?==>?86
    'Ellena'?==>?49

    但是使用兩個list很麻煩,尤其是需要變換一個列表的順序后另一個列表也需要做同樣的變換,否則就可能對應不上。

    python中dict就是專門保存這種映射的,使用dict可以方便的保存“名字”->“成績”的映射。


    在dict中,每一項包含一個key和一個value。key和value是一一對應的。上述問題可以把名字作為key,成績作為value。

    那么dict的定義如下:

    d?=?{
    ????'Alice':?45,
    ????'Bob':?60,
    ????'Candy':?75,
    ????'David':?86,
    ????'Ellena':?49
    }

    在定義中,使用花括號{}表示這是一個dict,然后key和value之間用冒號:分割。并且每一組key:value的最后以逗號,表示這一組的結束。

    也可以用以下的方式定義一個dict。

    d = dict()

    此時得到的是一個空dict,需要調用函數向其中添加數據。

    查看全部
    0 采集 收起 來源:什么是dict

    2020-09-06

  • tuple里面的元素,是不可替換的。但是這針對的是僅包含基礎數據類型(數字類型、布爾類型、字符串類型)的數據。

    對于組合數據類型,不受這個約束。

    T?=?(1,?'CH',?[3,?4])

    這里T有三個元素,第一個元素是數字類型,第二個元素是字符串類型,第三個元素是列表類型的,我們嘗試修改第三個元素的數據。

    改變的理由是什么呢?

    是由于tuple中的list元素改變了,但是tuple本身指向的list仍然是同一個list,list本身并沒有改變。改變的只是list里面的一個元素,這是tuple約束不到的范圍。

    但是如果像這樣直接替換list也是不可以的。

    T?=?(1,?'CH',?[3,?4])
    L2?=?[3,?40]
    #?嘗試替換tuple中的list
    T[2]?=?L2
    #?報錯
    Traceback?(most?recent?call?last):
    ??File?"<stdin>",?line?1,?in?<module>
    TypeError:?'tuple'?object?does?not?support?item?assignment


    查看全部

舉報

0/150
提交
取消
課程須知
如果您了解程序設計的基本概念,會簡單使用命令行,了解中學數學函數的概念,那么對課程學習會有很大的幫助,讓您學起來得心應手,快速進入Python世界。
老師告訴你能學到什么?
通過本課程的學習,您將學會搭建基本的Python開發環境,以函數為基礎編寫完整的Python代碼,熟練掌握Python的基本數據類型以及list和dict的操作,靈活使用流程控制語句。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!