1. 程式人生 > >python—各種常用函式及庫

python—各種常用函式及庫

列表

list1.append(x)         將x新增到列表末尾

list1.sort()                對列表元素排序

list1.reverse()            將列表元素逆序

list1.index(x)             返回第一次出現元素x的索引值

list1.insert(i,x)            在位置i處插入新元素x

list1.count(x)                返回元素x在列表中的數量

list1.remove(x)            刪除列表中第一次出現的元素x

list1.pop(i)                    取出列表中i位置上的元素,並將其刪除

元組

  1. 元組(tuple)是特殊的序列型別
  2. 一旦被建立就不能修改,使得程式碼更安全
  3. 使用逗號和圓括號來表示,如(‘red’,‘blue’,‘green’),(2,4 , 6)
  4. 訪問方式和列表相同
  5. 一般用於表達固定資料項,函式多返回值等情況

特點:

  1. 元組中的元素可以是不同型別
  2. 元組中各元素存在先後關係,可通過索引訪問元組中的資料     

math庫

math.pi            圓周率

math.ceil(x)        對x向上取整

math.floor(x)        對x向下取整

math.pow(x,y)    x的y次方

math.sqrt(x)          x的平方根

math.fsum(list1)    對集合內的元素求和

更多math庫函式請參考:https://docs.python.org/3/library/math.html

datetime庫

  • 處理時間的標準函式庫datetime
  • datetime.now()獲取當前日期和時間                            
  • 字串->datetime

       datetime.strptime(),解析時間字串  


        註釋:Y表示四位數年份,y表示兩位數年份。

  • datetime->字串

        datetime.strftime(),格式化datetime為字串顯示


  • 日期時間格式參考:
            https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
  • isocalendar(),返回年,週數,及周幾
  • 更多操作參考:

            https://docs.python.org/3/library/datetime.html#module-datetime

集合

  • python中的集合(set)型別同數學中的集合概念一致,即包含0或多個數據項的無序組合
  • 集合中的元素不可重複
  • 集合是無序組合,沒有索引和位置的概念
  • set()函式用於集合的生成,返回結果是一個無重複且排序任意的集合
  • 集合通常用於表示成員間的關係、元素去重等。

集合的操作:

  • s-t 或 s.difference(t)        返回在集合s中但不在t中的元素
  • s&t 或 s.intersection(t)       返回同時在集合s和t中的元素
  • s|t 或 s.union(t)       返回結合s和t中的所有元素
  • s^t 或 s.symmetric_difference(t)        返回集合s和t中的元素,但不包括同時在其中的元素。

字典

  • 字典型別(dict)是‘’鍵--值‘’資料項的組合,每個元素是一個鍵值對。

        例如:身份證號(鍵)--個人資訊(值)

  • 字典型別資料通過對映查詢資料項
  • 對映:通過任意鍵查詢集合中的值得過程
  • 字典型別以鍵為索引,一個鍵對應一個值
  • 字典型別的資料是無序的

基本操作:

  • 定義空字典:        d = dict()

  • 增加一項:        d[key] = value

  • 訪問:        d[key]
  • 刪除某項:        del d[key]
  • key是否在字典中:        key in d
  • 字典的遍歷:

              遍歷所有的key:    for key in d.keys():

                                           print(key)

              遍歷所有的value:    for value in d.values():

                                           print(value)

               遍歷所有的資料項:    for item in d.items():

                                                print(items)

random模組

  • random()        生成一個【0,1.0)之間的隨機浮點數
  • uniform(a,b)        生成一個a到b之間的隨機浮點數
  • randint(a,b)        生成一個a到b之間的隨機整數
  • choice(<list>)        從列表中隨機返回一個元素
  • shuffle(<list>)      將列表中元素隨機打亂
  • sample(<list>,k)        從指定列表中隨機獲取K個元素

更多random模組的方法請參考:https://docs.python.org/3/library/random.html

matplotlib模組

  • matplotlib是一個數據視覺化函式庫
  • matplotlib的子模組pyplot提供了2D圖表製作的基本函式
  • 例子:https://matplotlib.org/gallery.html
  • 散點圖繪製:

         import matplotlib.pyplot as plt

        #x,y分別是X座標和Y座標的列表

        plt.scatter(x,y)

        plt.show()

Numpy

  • 包括:

            強大的N維陣列物件array

            成熟的科學函式庫

            使用的線性代數,隨機數生成函式等

  • Numpy的操作物件是多維陣列ndarray

            ndarray.shape 陣列的維度

  • 建立陣列:np.array(<list>),np.arange()...
  • 改變陣列形狀 reshape()
  • Numpy建立隨機陣列:

            np.random.randint(a,b,size)          #建立【a,b)之間,形狀為size的陣列