程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python - 數據類型及結構

編輯:Python

數據類型及序列數據結構

  • 學習導圖
  • 數據類型
    • 數值類型
    • 字符串
    • 布爾類型
    • 空值
  • 序列數據結構
    • 列表
      • 創建列表
      • 訪問列表
      • 更新列表
      • 刪除元素
        • del語句
        • remove()方法
        • pop()方法
      • 添加元素
      • 多維列表
    • 元組
      • 創建元組
      • 訪問元組
      • 連接元組
      • 刪除元組
      • 元組和列表的轉換
    • 字典
      • 創建字典
      • 訪問字典
      • 修改字典
      • 刪除元素
      • in運算
      • 獲取字典所有值
      • items()方法
    • 集合
      • 創建集合
      • 成員測試
      • 集合運算

學習導圖

數據類型及結構 數據類型 數值類型 整型int 浮點型float 復數complex 字符串類型 布爾類型 空值 數據結構 列表 list 元組 tuple 字典 dict 集合 set

數據類型

數值類型

  • python數值類型用於存儲數值,支持以下數值類型。
  • 整型int,也稱整數,是正或負整數,不帶小數點。
  • 浮點型float,由整數加小數組成,帶小數點,可以使用科學記數法計數(3.14E2=314)。
  • 復數complex,由實部和虛部構成,可以用a+bjcomplex(a.b)表示。

字符串

  • python中最常見的數據類型,使用引號來創建字符串(單/雙引號都可以)。

布爾類型

  • 值:True和False
  • 支持如下運算:
    • and(與)
    • or(或)
    • not(非)
  • 布爾運算都較為簡單。

空值

  • None ,不支持任何運算,也沒有任何內置函數方法。
  • 與任何其他數據類型比較,永遠返回false。
  • 如未指定返回值的函數,自動返回 None

序列數據結構

  • 數據結構是:計算機存儲、組織數據的方式。
  • 序列是python中最基本的數據結構。序列中每個元素都分配到一個數字,即它的位置或索引,從0開始。
  • 序列操作有:索引、切片、加、乘、成員檢查、確定序列長度、確定最大最小元素等。
  • python內置序列類型最常見的是列表、元組和字符串。
  • 字典、集合屬於無順序數據集合體,不能通過位置索引來訪問數據元素。

列表

  • 列表list,列表的數據項可以有多種類型,數據可以修改。

創建列表

  • 用方括號[...]括起來,用逗號,分隔不同數據項。
  • 列表索引從0開始
list1 = ['你', '我', 123, 456]

訪問列表

  • 使用索引,訪問列表中的值。
list1 = ['你', '我', 123, 456]
print('list[0]:', list1[0])
print('list[1:3]:', list1[1:3])

更新列表

  • 對列表數據項進行修改或更新。
list1 = ['你', '我', 123, 456]
list1[1]=199
print('list[1]:', list1[1])

刪除元素

del語句

  • 使用del語句刪除列表中的元素

remove()方法

  • 使用remove()方法刪除列表中的元素

pop()方法

  • 使用pop()方法刪除列表中指定位置的元素,無參數時刪除最後一個元素

添加元素

  • 使用append()方法,在列表的末尾添加元素
list1 = ['你', '我', 123, 456]
list1.append(201)
print(list1)

多維列表

  • 即列表嵌套列表,多維列表中的元素值也是一個列表。
list1 = [["我", "要", "CPU"], '你', ["顯卡", "硬盤"], 123]
print(list1[0][2])
  • 打印CPU,通過多重索引訪問:列表名[索引1][索引2]
  • 列表生成式,python內置的一種生成列表的表達式。如果要生成一個list[1,2,3,4,5,6,7,8,9],可以這麼定義:L=list(range(1,10))

元組

  • 元組tuple,與列表類似。但是元組的元素不能修改。
  • 元組用小括號()括起來,其元素類型也可以相同。

創建元組

  • 外用小括號(),內用逗號,隔開。
tup1 = ('我', '它', 20, 30)
# 創建空元組
tup2 = ()
# 只包含一個元素,後面加個逗號
tup3 = (60,)

訪問元組

  • 使用下標索引,跟list相同
tup1 = ('我', '它', 20, 30)
print(tup1[0])
print(tup1[1:3])

連接元組

  • 元素值不可修改,但是可以對元組進行連接組合。
tup1 = ('我', '它', 20, 30)
tup2 = (50, 90)
tup3 = tup1 + tup2
print(tup3)

刪除元組

  • 元組中的值是不可以刪除的,但是可以刪除整個元組,使用del
tup1 = ('我', '它', 20, 30)
del tup1
# 刪除後,打印會報錯
print(tup1)

元組和列表的轉換

  • 元組轉列表:列表對象=list(元組對象)
tup1 = ('我', '它', 20, 30)
list1 = list(tup1)
print(list1)
  • 列表轉元組:元組對象=tuple(列表對象)
list1 = ['你', '我', 123, 456]
tup1 = tuple(list1)
print(tup1)
  • 列表轉字符串:字符串對象=str(列表對象)
list1 = ['你', '我', 123, 456]
str1 = str(list1)
# 返回一個包括字符串
print(str1)

字典

  • 字典dict是一個可變容器模型,可存儲任意類型對象。
  • 字典也稱為關聯數組或哈希表。
  • 字典由鍵和對應值(鍵值對)組成,鍵值對之間用逗號,隔開,外面用花括號{}

創建字典

  • 基本語法:d = {key1: value1, key2: value2}
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
  • 特性:
    • 字典值可以是任何python對象,如字符串、數字、元組等。
    • 鍵必須是唯一的,值可以有多個。不允許同一個鍵出現兩次,出現了,則使用最新對應的值。
    • 鍵不可變,因此用數字、字符串或元組可以,不能用列表。

訪問字典

  • 訪問字典的值,把相應的鍵放到方括號中即可。
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
# 顯示18
print(dict1['age'])

修改字典

  • 添加新內容的方法是添加新的鍵值對,修改或刪除已有鍵值對。
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
# 更新age對應的值
dict1['age']=20
# 添加新的鍵值對
dict1['scor']='idon'

刪除元素

  • del()方法,可以使用鍵從字典中刪除元素。
  • clear()方法清空字典中所有的元素。
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
# 刪除age的元素
del dict1['age']
# 清空整個字典元素,變成空字典
dict1.clear()
# 刪除這個字典
del dict1

in運算

  • 判斷某個鍵是否在字典裡,對value值不適用
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
# 返回True
print('age' in dict1)

獲取字典所有值

  • dict.values()以列表形式返回字典中所有值。
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
print(dict1.values())

items()方法

  • items()方法把字典中的鍵值對組成一個元組,並把元組放到列表中返回。
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
for key, value in dict1.items():
print(key,value)

集合

  • 無序不重復,字典也是無序不重復的。
  • 基本功能:進行成員關系測試和刪除重復元素。

創建集合

  • 使用大括號{}set()函數。
  • 創建空集合必須使用set()函數,{}被用來創建空字典了。
student = {
'xiaohua', 'xiaoming', 'xiaai', 'mayn'}
# 輸出集合,重復的元素自動丟棄
print(student)

成員測試

  • 某某在不在集合中。
student = {
'xiaohua', 'xiaoming', 'xiaai', 'mayn'}
if('rose' in student):
print("yes")
else:
print("no")

集合運算

  • - | & 分別對應集合的差集、並集、交集。
a = set('abcd')
b = set('cdea')
print(a-b)
print(a|b)
print(a&b)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved