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

python 開發 -- 14元組類型內置方法

編輯:Python

文章目錄

    • 一.作用
      • 1.元組與列表
      • 2.元組的作用
    • 二.定義方式
      • 元組不可變解析
    • 三.常用操作 + 內置方法
    • 優先掌握的操作(*********)
      • 1.按照索引取值 (正向取 + 反向取) : 只能取
      • 2.切片 (顧頭不顧尾 + 步長)
      • 3、長度 : .len()
      • 4、成員運算 int和 not in
      • 5、循環
    • 需要掌握的操作(****)
      • 1.統計個數 : .count()
      • 2.查找索引 : .index()
    • 四.總結
      • 可以存多個值
      • 有序, 依賴索引取值
    • 四.總結
      • 可以存多個值
      • 有序, 依賴索引取值
      • 不可變類型--->可 hash 類型

一.作用

1.元組與列表

  • 元組其實就是不可變的列表
  • 列表可讀可改, 而元組只讀不能改
  • 同等數據類型下, 元組更加節省空間, 並且效率更高於列表
  • 因為元組底層只提供讀的機制, 而列表既有讀也有改的機制

2.元組的作用

  • 顯而易見, 也是按照位置存放多個值, 索引對應值

二.定義方式

  • “( )” 內用逗號分隔開多個任意類型的元素
  • 如果元組內只包含一個元素, 那麼需要用逗號隔開: (111,)
  • 元組不可變指的是第一層元素的內存地址不能改變
  • 如果第一層裡面包含一個子列表, 那麼子列表的內存地址不能改變, 但可以改變子列表裡面的元素(列表可變類型)
  • “工廠” : tuple
# 定義
l=(11,11.11,"aaa",[222,333]) #背後調用 l=tuple(...)
# 定義單個值需要加逗號(沒加就只是包含的意思)
x = (18)
y = (18,)
print(type(x)) #<class 'int'>
print(type(y)) #<class 'tuple'>
# 一個元組
j=(1,) #加上逗號
print(j,type(j))
(1,) <class 'tuple'>
  • 元組不可變解析

# 元組的不可變類型解析
tup = (111,"aaa",[222,333])
print(id(tup[0]),id(tup[1]),id(tup[2]))
#140709693587136 2763387504816 2763386278472
tup[0] = 222 #報錯
tup[1] = 333 #報錯
tup[2] = 333 #報錯
# 當改變子列表內元素時
tup[2][0] = 333
print(tup[2]) #[333, 333]
# 修改完成後查看, 元組第一層元素的"id"沒有改變
print(id(tup[0]),id(tup[1]),id(tup[2]))
#140709693587136 2763387504816 2763386278472

三.常用操作 + 內置方法

優先掌握的操作(*********)

1.按照索引取值 (正向取 + 反向取) : 只能取

tup = (111,222,333,444,555)
# 正向取
print(t[0]) #111
# 反向取
print(t[-1]) #555

2.切片 (顧頭不顧尾 + 步長)

tup = (111,222,333,444,555,666)
# 顧頭不顧尾
print(t[0:3]) # (111,222,333)
# 反轉
tup2 = tup[::-1]
print(tup2) #(666,555,444,333,222,111)

3、長度 : .len()

tup = (111,222,333,444,555,666)
print(len(tup)) # 6

4、成員運算 int和 not in

  • 判斷的是否只是在第一層元素中
tup = (111,"aaa",[222,333])
print(111 in tup) #True
print(222 in tup) #False
print([222,333] in tup) #True

5、循環

tup = (111,"aaa",[222,333])
for i in tup:
print(i)
# 111
# aaa
# [222, 333]

需要掌握的操作(****)

1.統計個數 : .count()

  • 查看的是一個元素在元組中的個數, 查看的只是第一層
tup = (111,"aaa",222,222,[222,333])
print(tup.count(222)) # 2

2.查找索引 : .index()

  • 找到指定字符在列表中的索引, 可以指定范圍查找
  • 元組中沒有像字符串中 : find、rfind、rindex 的這些方法
  • 只是在第一層查找
tup = (111,"aaa",222[222,333])
print(tup.index("aaa",1,3)) # 1

四.總結

  • 可以存多個值

  • 有序, 依賴索引取值

只是在第一層查找

tup = (111,"aaa",222[222,333])
print(tup.index("aaa",1,3)) # 1

四.總結

  • 可以存多個值

  • 有序, 依賴索引取值

  • 不可變類型—>可 hash 類型


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