<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Python基礎筆記(二)

      1. List和Tuple

      List和Tuple是Python的內置的數(shù)據(jù)類型,區(qū)別在于可變和不可變,List用[]表示,Tuple用()表示,它們之間可以相互轉換:

      # List to Tuple
      myList = [1, 2, 3, 4]
      myTuple = tuple(myList)
      
      # Tuple to List
      myTuple = ("A", "B", "C")
      myList = list(myTuple)
      

      可以使用len()函數(shù)計算長度:

      myList = [1, 2, 3, 4]
      myTuple = ("A", "B", "C")
      print(len(myList))
      print(len(myTuple))
      # 4 3
      

      由于Tuple是用小括號來聲明,當只有一個元素時,為了避免歧義,需要加入一個逗號:

      myTuple = (100)
      print(myTuple)
      # 100
      
      myTuple = (100,)
      print(myTuple)
      # (100,)
      

      Python通過索引獲取列表內單一元素,并且支持索引值為負數(shù),即從數(shù)組的末尾開始計數(shù):

      myList = [1, 2, 3, 4, 5]
      print(myList[1])
      # 2
      print(myList[-1])
      # 5
      

      從上面的例子可以看出,索引值為正數(shù)時從索引0開始,索引值為負數(shù)時從索引-1開始,索引-1代表最后一個元素myList[len(myList)-1]
      下面是List的常用增刪改操作:
      (1) 添加

      myList = [1, 2, 3, "A", "B", "C"]
      
      myList.append(4)
      # 向列表末尾添加'4'
      # [1, 2, 3, 'A', 'B', 'C', 4]
      
      myList.extend(["X", "Y", "Z"])
      # 向列表末尾添加新列表
      # [1, 2, 3, 'A', 'B', 'C', 4, 'X', 'Y', 'Z']
      
      myList.insert(2, "apple")
      # 在索引2處插入'apple'
      # [1, 2, 'apple', 3, 'A', 'B', 'C', 4, 'X', 'Y', 'Z']
      

      (2) 刪除

      myList = [1, 2, 3, "A", "B", "C"]
      
      delItem = myList.pop()
      # 刪除列表末尾元素,將返回被刪除的元素
      # [1, 2, 3, 'A', 'B'], delItem = 'C'
      
      delItem = myList.pop(1)
      # 刪除索引1處的元素
      # [1, 3, 'A', 'B'], delItem = 2
      
      del myList[2]
      # 刪除索引2處的元素
      # [1, 3, 'B']
      
      del myList[0:2]
      # 刪除索引0到索引2(不包括索引2)的所有元素
      # ['B']
      
      myList.remove('B')
      # 刪除元素'B'
      # []
      

      (3) 獲取

      myList = [1, 2, 3, 4, "A", "B", "C", "X", "Y", "Z"]
      
      print(myList[3])
      # '4'
      
      newList = myList[:3]
      # 從索引0開始,取到索引3(不包括索引3)
      # [1, 2, 3]
      
      newList = myList[4:]
      # 從索引4開始,取到最后一個元素
      # ['A', 'B', 'C', 'X', 'Y', 'Z']
      
      newList = myList[4:6]
      # 從索引4開始,取到索引6(不包括索引6),[m:n]可以理解為從m開始,取n-m個元素
      # ['A', 'B']
      
      newList = myList[-3:-1]
      # 從索引-3開始,取到索引-1(不包括索引-1)
      # ['X', 'Y']
      
      newList =  myList[:-5]
      # 從索引0開始,取到索引-5(不包括索引-5)
      # [1, 2, 3, 4, 'A']
      
      newList = myList[1:8:4]
      # 從索引1開始,取到索引8(不包括索引8),每2個元素取1個
      # [2, 4, 'B', 'X']
      
      newList = myList[:]
      # 原樣復制一個List,等效于newList = myList
      # [1, 2, 3, 4, 'A', 'B', 'C', 'X', 'Y', 'Z']
      
      newList = myList[::-1]
      # 將當前List倒序輸出,得到一個新List(不影響原List)
      # ['Z', 'Y', 'X', 'C', 'B', 'A', 4, 3, 2, 1]
      
      myStr = "ABCDEFGHIJKL"[3:6]
      # 字符串也是一個List,從第3個字符取到第6個字符(不包括第6個字符)
      # 'DEF'
      
      myStr = "ABCDEFGHIJKL"[::2]
      # 整個字符串每2個字符取1個字符,生成新字符串
      # 'ACEGIK'
      
      for k, v in enumerate(myList):
          print(k, v)
      # 遍歷myList,同時列出數(shù)據(jù)和數(shù)據(jù)下標
      # 0 1
      # ...
      # 9 Z
      
      myList = [1, 2, 3, 4, 5]
      newList = [i*i for i in myList]
      # 將List里的每個元素取平方,得到新List
      # [1, 4, 9, 16, 25]
      

      對純數(shù)字的列表,可以通過min(),max(),sum()來進行科學計算

      myList = [1, 2, 3, 4, 5]
      
      minItem = min(myList)
      # 1
      
      maxItem = max(myList)
      # 5
      
      sumResult = sum(myList)
      # 15
      

      (4) 判斷

      myList = ["A", 1, 2, 3, "A", "B", "C", "X", "Y", "Z", "A"]
      myStr = "What can I do for you?"
      
      result = "what" in myStr.lower()
      result = "WHAT" in myStr.upper()
      # 判斷"what"是否在字符串內出現(xiàn)過,返回True或False;
      # Python是大小寫敏感的,可以全部轉換成大寫或小寫來比較,此處返回True
      
      result = "X" not in myList
      # 判斷"X"是否不在當前列表,此處返回False
      
      result = myList.count("A")
      # 判斷元素"A"在列表里出現(xiàn)的次數(shù),此處得到3
      
      result = myStr.count("a")
      # 判斷字符"a"在字符串里出現(xiàn)的次數(shù),此處得到2
      
      index = myList.index("A")
      # 獲取元素"A"在列表里的索引,此處得到0
      
      index = myList.index("A",3)
      # 在列表索引3(包括索引3)開始獲取元素"A"在列表里的索引,此處得到4
      
      try:
          index = myList.index("A",5,100)
      except ValueError:
          print("該元素不在List內")
      else:
          print(index)
      # 當index的參數(shù)在列表或字符串并不存在,會拋異常,這里需要捕獲異常再處理,此處得到10
      

      (5) 排序

      myList1 = [8, 2, 100, 23]
      myList2 = ["W", "A", "X", "T"]
      
      myList1.reverse()
      # 反轉列表
      # [23, 100, 2, 8]
      
      myList1.sort()
      # 按升序排列
      # [2, 8, 23, 100]
      
      myList2.sort()
      # 按升序排列
      # ['A', 'T', 'W', 'X']
      
      myList1.sort(reverse=True)
      # 按倒序排列
      # [100, 23, 8, 2]
      

      2. 數(shù)組

      Python也有array模塊,array中的類型必須全部相同,并且在聲明時就要明確指定元素的類型,只支持一維數(shù)組:

      import array
      
      myArray = array.array('i', [1, 3, 5])
      
      print(myArray)
      # array('i', [1, 3, 5])
      
      print(myArray[1])
      # 3
      

      另一個更好的選擇是NumPy庫的數(shù)組,它是Python數(shù)組的一個擴展,Python3.4以后的版本可以使用以下命令安裝NumPy庫:

      pip3 install numpy
      

      (1) 創(chuàng)建

      import numpy as np
      
      myArray = np.array([44, 88, 22, "ABC"])
      # 直接按指定元素創(chuàng)建數(shù)組,當同時存在數(shù)字和字符串,會把數(shù)字當做字符串處理
      # ['44' '88' '22' 'ABC']
      
      myArray = np.arange(1, 10, 2, dtype=np.int16)
      # 以1為起點,10為終點(不包括10),間隔為2,數(shù)據(jù)類型為Int16方式創(chuàng)建數(shù)組
      # [1 3 5 7 9]
      
      myArray = np.ones((2,3), dtype=np.int16, order="C")
      # # 創(chuàng)建一個2*3的二維數(shù)組,數(shù)組的每個元素都為"1",數(shù)據(jù)類型是Int16,存儲方式按C語言的按行存儲
      # [[1 1 1]
      #  [1 1 1]]
      
      myArray = np.zeros(8, dtype=np.float, order="F")
      # 創(chuàng)建一個長度為8的一維數(shù)組,數(shù)組元素都為"0",數(shù)據(jù)類型是Float,存儲方式按Fortran語言的按列存儲
      # [0. 0. 0. 0. 0. 0. 0. 0.]
      
      myArray = np.empty(8, np.str, order="C")
      # 創(chuàng)建一個長度為8的一維字符串數(shù)組,數(shù)組的每個元素都為空
      # ['' '' '' '' '' '' '' '']
      
      myArray = np.linspace(20, 100, 50, endpoint=False, retstep=False)
      # 在20-100之間,取50個點
      # endpoint:如果為True,則一定包括stop;如果為False,一定不包括stop
      # retstep:如果為True,則返回數(shù)組和步長;如果為False,只返回數(shù)組
      
      myRandInt = np.random.randint(5)
      # 在0-5之間取一個隨機數(shù),數(shù)組中可能有"0",但不會有"5"
      
      myArray = np.random.randint(1,100,10)
      # 在1-100之間生成包含10個隨機數(shù)的數(shù)組,數(shù)組中可能有"1",但不會有"100"
      # [41 58 55  1 94 58 36 17 84 47]
      
      myArray = np.random.randint(1,100,(2,3))
      # 在1-100之間取隨機數(shù)生成一個2*3的數(shù)組
      # [[89 86  7]
      #  [67 39 58]]
      

      (2) 添加
      NumPy的數(shù)組不能動態(tài)改變大小,numpy.append()函數(shù)會新建數(shù)組,不會影響原數(shù)組。

      import numpy as np
      
      myArray1 = np.array([1, 2, 3, 4, 5])
      myArray2 = np.array(["A", "B", "C"])
      myList1 = [6, 7, 8]
      myList2 = ["X", "Y", "Z"]
      
      print(np.append(myArray1, myArray2))
      # 將myArray1和myArray2合并為一個新數(shù)組
      # ['1' '2' '3' '4' '5' 'A' 'B' 'C']
      
      newArray = np.array([], dtype=np.int16)
      for i in myList1:
          newArray = np.append(newArray, i)
      print(newArray)
      # 循環(huán)訪問myList1,將每個元素添加到newArray末尾
      # [6 7 8]
      
      print(np.append(myArray1, 9))
      # 在myArray1末尾單獨添加一個數(shù)字9
      # [1 2 3 4 5 9]
      
      print(np.append(myArray2, myList2))
      # 將myList2添加到myArray2末尾
      # ['A' 'B' 'C' 'X' 'Y' 'Z']
      
      print(np.concatenate((myArray1, myList1, myArray2),axis=0))
      # 將兩個數(shù)組,一個列表拼接起來
      # ['1' '2' '3' '4' '5' '6' '7' '8' 'A' 'B' 'C']
      
      myArray1 = np.array([[1, 2, 3], [4, 5, 6]])
      myArray2 = np.array([["A", "B", "C"],["X", "Y", "Z"]])
      myArray3 = np.array([["一", "二", "三"],["四", "五", "六"]])
      
      newArray1 = np.concatenate((myArray1, myArray2, myArray3), axis=0)
      print(newArray1)
      # 按順序添加三個數(shù)組的所有元素,axis=0可以省略,axis對于一維數(shù)組無效
      # [['1' '2' '3']
      #  ['4' '5' '6']
      #  ['A' 'B' 'C']
      #  ['X' 'Y' 'Z']
      #  ['一' '二' '三']
      #  ['四' '五' '六']]
      
      newArray2 = np.concatenate((myArray1, myArray2, myArray3), axis=1)
      print(newArray2)
      # 依次添加三個數(shù)組的索引0的元素,然后添加索引1的元素(直到添加到最大索引處的元素)
      # [['1' '2' '3' 'A' 'B' 'C' '一' '二' '三']
      #  ['4' '5' '6' 'X' 'Y' 'Z' '四' '五' '六']]
      

      其它操作大致與List相同,可參考List的示例。

      3. 字典

      myDict = {"name":"wayne", "age":25, "skills":["java", "python", "ruby"]}
      
      myDict["name"] = "tom"
      # 新增一個元素,如果key已存在,則修改對應的value
      
      # if not myDict.get("nickname"):
      if not "nickname" in myDict:
          myDict["nickname"] = "mario"
      # 如果字典里沒有"nickname"這個key,則用指定值添加
      
      print(myDict.keys())
      # 輸出所有key
      # dict_keys(['name', 'age', 'skills'])
      
      print(myDict.values())
      # 輸出所有value
      # dict_values(['tom', 25, ['java', 'python', 'ruby']])
      
      print(myDict.items())
      # 輸出所有items
      # dict_items([('name', 'tom'), ('age', 25), ('skills', ['java', 'python', 'ruby'])])
      
      for k in myDict:
          v = myDict.get(k)
          print(k,":",v)
      # 遍歷整個字典
      # name : tom
      # age : 25
      # skills : ['java', 'python', 'ruby']
      
      newDict = myDict.copy()
      # 拷貝字典
      # {'name': 'tom', 'age': 25, 'skills': ['java', 'python', 'ruby']}
      
      myDict.pop("age")
      # 移除key為"age"的元素
      # {'name': 'tom', 'skills': ['java', 'python', 'ruby']}
      
      myDict.popitem()
      # 移除最后一個元素
      # {'name': 'tom'}
      
      myDict.clear()
      # 清空字典
      # {}
      

      4. 集合

      集合(set)里的元素是無序的,它最大的特點是沒有重復元素,如果嘗試添加重復元素則會被自動過濾。

      mySet = set([1, 1, "A", "A", 3, 3])
      print(mySet)
      # {1, 'A', 3}
      
      mySet1 = set([1, 2, 3])
      mySet2 = set([2, 3, 4])
      
      # 取交集
      mySet = mySet1 & mySet2
      print(mySet)
      # {2, 3}
      
      # 取并集
      mySet = mySet1 | mySet2
      print(mySet)
      # {1, 2, 3, 4}
      
      posted @ 2019-02-01 17:03  CoderWayne  閱讀(211)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 在线观看无码不卡av| 亚洲成人av一区二区| 亚洲AV永久无码精品秋霞电影影院| 日本强伦片中文字幕免费看| 国产毛片精品一区二区色 | 亚洲国产天堂久久综合226114| 亚洲一二区在线视频播放| 亚洲综合在线日韩av| 真实国产老熟女无套内射| 日韩精品中文字幕无码一区| 国产精品一二三区蜜臀av| 狠狠色噜噜狠狠狠狠777米奇| 屏山县| 国产亚洲精品在av| 日韩V欧美V中文在线| 德格县| 国产精品综合色区av| 欧美精品一区二区在线观看播放| 日本A级视频在线播放| 国产午夜精品福利视频| 亚洲欧洲美洲在线观看| 亚洲欧美不卡视频在线播放| 少妇高清一区二区免费看| 最新亚洲人成网站在线影院| 国产日韩久久免费影院| 国产亚洲视频免费播放| 精品一区二区中文字幕| 高清中文字幕国产精品| 国产激情一区二区三区在线| 精品久久人人做爽综合| 成人特黄特色毛片免费看| 亚洲精品一二三中文字幕| 又大又长粗又爽又黄少妇毛片| 久久精品一区二区日韩av| 性色在线视频精品| 亚洲精品日韩在线观看| 安图县| 色老头在线一区二区三区| 亚洲色大成永久WW网站| 亚洲一区二区三区久久综合| 亚洲一区二区三区丝袜|