1. 程式人生 > >Python之路(三):基本資料型別(下)

Python之路(三):基本資料型別(下)

元祖tuple

   是對列表的二次加工,書寫格式為括號(),裡面放元素

   元組的一級元素不可被修改,且不能被增加和刪除

   一般寫元組的時候,推薦在最後加入逗號,   能加則加

建立元組

1 tu  =  ( 111 , "alex" ,( 11
, 22 ),[( 33 , 44 )], True , 33 , 44 ,)

索引

1 2 3 tu  =  ( 111 , "alex" ,( 11 , 22 ),[( 33 , 44 )], True , 33 , 44 ,)     # 索引找值
=  tu[ 1 ] print (v)<br><br>alex

切片

1 2 3 tu  =  ( 111 , "alex" ,( 11 , 22 ),[( 33 , 44 )], True , 33 , 44 ,)     # 切片,區間內找值 =  tu[ 0 : 3 ] print (v)<br><br>( 111 'alex' , ( 11 22 ))

可以被for迴圈(可迭代物件)

1 2 3 4 5 6 7 8 9 10 tu  =  ( 111 , "alex" ,( 11 , 22 ),[( 33 , 44 )], True , 33 , 44 ,) for  item  in  tu:      print (item)   111 alex ( 11 , 22 ) [( 33 , 44 )] True 44

有序的,排列的時候有順序

  • 轉換(字串,列表,元祖之間的轉換)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 =  "asd" li  =  [ "asdf" , 123 ] tu  =  ( 123 , 321 , "asdf" ) =  tuple (s) print (v) v1  =  tuple (li) print (v1) v2  =  list (tu) print (v2)   # 輸出結果 ( 'a' 's' 'd' ) ( 'asdf' 123 ) [ 123 321 'asdf' ]

元組運算子

與字串一樣,元組之間可以使用 + 號和 * 號進行運算。這就意味著他們可以組合和複製,運算後會生成一個新的元組。

Python 表示式 結果 描述
len((1, 2, 3)) 3 計算元素個數
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 連線
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 複製
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print x, 1 2 3 迭代

tuple的方法(魔法)

序號 方法及描述 例項
1 len(tuple)
計算元組元素個數。
>>> tuple1 = ('Google', 'Baidu', 'Taobao') >>> len(tuple1) 3 >>>
2 max(tuple)
返回元組中元素最大值。
>>> tuple2 = ('5', '4', '8') >>> max(tuple2) '8' >>>
3 min(tuple)
返回元組中元素最小值。
>>> tuple2 = ('5', '4', '8') >>> min(tuple2) '4' >>>
4 tuple(seq)
將列表轉換為元組。
>>> list1= ['Google', 'Taobao', 'JD', 'Baidu'] >>> tuple1=tuple(list1) >>> tuple1 ('Google', 'Taobao', 'Runoob', 'Baidu')

     

字典dict

是一個鍵(key)值(value)對,結構為{},大括號

建立字典

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 info  =  {                 # k1 k2 k3 k4為鍵                            "k1" 18 ,              # :後面分別為值    逗號為分隔符      "k2" True ,                      # 數字,布林值也可以作為鍵      "k3" : [          11 ,          [],          (),          22 ,          33 ,          {              'kk1' 'vv1' ,              'kk2' 'vv2' ,              'kk3' : ( 11 , 22 ),          }      ],      "k4" : ( 11 , 22 , 33 , 44 )   }

字典的值可以是任何值

  • 列表,字典不能作為字典的key
  • 字典是無序的
  • 字典不能被切片,因為它是無序的;可根據索引取值,查詢,找到元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 info  =  {      "k1" 18 ,      "k2" True ,      "k3" : [          11 ,          [],          (),          22 ,          33 ,          {              'kk1' 'vv1' ,              'kk2' 'vv2' ,              'kk3' : ( 11 , 22 ),          }      ],      "k4" : ( 11 , 22 , 33 , 44 )   } =  info[ 'k1' ] print (v)   18

字典是支援del 刪除的

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 info  =  {      "k1" 18 ,      "k2" True ,      "k3" : [          11 ,          [],          (),          22 ,          33 ,          {              'kk1' 'vv1' ,              'kk2' 'vv2' ,              'kk3' : ( 11 , 22 ),          }      ],      "k4" : ( 11 , 22 , 33 , 44 )   } del  info[ 'k1' ] print (info)     $ { 'k4' : ( 11 22 33 44 ),  'k3' : [ 11 , [], (),  22 33 , { 'kk1' 'vv1' 'kk3' : ( 11 22 ),  'kk2' 'vv2' }],  'k2' True }

支援for迴圈

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 info  =  {      "k1" 18 ,      "k2" True ,      "k3" : [          11 ,          [],          (),          22 ,          33 ,          {              'kk1' 'vv1' ,              'kk2' 'vv2' ,              'kk3' : ( 11 , 22 ),          }      ],      "k4" : ( 11 , 22 , 33 , 44 )   } for  item  in  info:      print (item)     $ k4 $ k2         info是字典型別 $ k1           預設 for 迴圈只有key $ k3                但是輸出結果鍵每次排序都不同,因為字典是無序的

用for迴圈獲取值values

1 2 3 4 5 6 7 8 9 程式碼接上 for  item  in  info.values():      print (item)     $ ( 11 22 33 44 ) $ [ 11 , [], (),  22 33 , { 'kk3' : ( 11 22 ),  'kk2' 'vv2' 'kk1' 'vv1' }] True 18                           

既想獲取key又想獲取value則用items

1 2 3 4 5 6 7 8 9 程式碼接上 for  item  in  info.items():      print (item)                                         # keys和values都可以獲得 $ ( 'k1' 18 ) $ ( 'k4' , ( 11 22 33 44 )) $ ( 'k2' True ) $ ( 'k3' , [ 11 , [], (),  22 33 , { 'kk2' 'vv2' 'kk3' : ( 11 22 ),  'kk1' 'vv1' }])                   

字典的方法(魔法)

 

序號 函式及描述
1 dict.clear()
刪除字典內所有元素
2 dict.copy()
返回一個字典的淺複製
3 dict.fromkeys()
建立一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值
4 dict.get(key, default=None)
返回指定鍵的值,如果值不在字典中返回default值
5 key in dict
如果鍵在字典dict裡返回true,否則返回false
6 dict.items()
以列表返回可遍歷的(鍵, 值) 元組陣列
7 dict.keys()
以列表返回一個字典所有的鍵
8 dict.setdefault(key, default=None)
和get()類似, 但如果鍵不存在於字典中,將會新增鍵並將值設為default
9 dict.update({'k1':'v1'} OR k1=v1)
把字典dict2的鍵/值對更新到dict裡
10 dict.values()
以列表返回字典中的所有值
11

dict.popitem()

隨機刪除,並獲取刪除的鍵值以元組形式返回

集合set

基本資料型別特點(可變:列表,字典   不可變:字串,數字,元組)

  • 不同的元素組成
  • 無序
  • 集合中的元素必須是不可變型別,加入可變的型別會報錯
複製程式碼
#!/usr/bin/python3
 
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
 
print(student)   # 輸出集合,重複的元素被自動去掉
 
# 成員測試
if('Rose' in student) :
    print('Rose 在集合中')
else :
    print('Rose 不在集合中')
 
 
# set可以進行集合運算
a = set('abracadabra')
b = set('alacazam')
 
print(a)
 
print(a - b)     # a和b的差集
 
print(a | b)     # a和b的並集
 
print(a & b)     # a和b的交集
 
print(a ^ b)     # a和b中不同時存在的元素
複製程式碼

方法:

  A、add  新增,新增可變的資料型別也是會報錯的

相關推薦

Python基本資料型別

元祖tuple    是對列表的二次加工,書寫格式為括號(),裡面放元素    元組的一級元素不可被修改,且不能被增加和刪除    一般寫元組的時候,推薦在最後加入逗號,   能加則加 建立元組

《Java從入門到失業》第基礎語法及基本程式結構基本資料型別字元編碼和char型

3.6.4字元編碼        咦?怎麼好像有東西亂入了?不是講基本資料型別麼?哈哈,因為還剩下最後一個char型了,因為char型會牽涉到Unicode編碼相關,因此我決定先科普一下字符集編碼。     &

全國計算機等級考試二級教程--python語言程式設計2018年版基本資料型別

宣告:本篇文章只是個人知識盲區、知識弱點、重點部分的歸納總結,望各位大佬不喜勿噴。梳理順序是按照書籍的實際順序梳理,轉載請註明出處。 作者:sumjess   一、數字型別: 1、整數型別:       整數型別有4種進製表示:十進位制

Python基礎1基本資料型別及變數

資料型別: 包括整形,長整型(Python 3不支援),浮點型,複數。 type()方法可以檢視變數型別。 整形範圍:-2^32——2^32-1 長整型範圍:取決於你的機器所支援的記憶體大小。 (Python3中整形和長整型已無縫結合,整形範圍已不受限制,相當於Java中的BigInt

Python入門基礎第二天基本資料型別

一、運算子  1、算數運算子 2、比較運算子 3、邏輯運算子 4、賦值運算子 5、成員運算子 二、基本資料型別 1、數字  通常的int, long,float,long等等都被支援。而且會看你的具體數字來定義變數的型別。 2、字串  單引

Python學習1基本資料型別

python是一門新興的膠水語言,在國外得到了廣泛的應用。在國外,程式設計基礎課一般會選擇pyhon作為程式語言。在國內,大學程式設計課上使用的語言一開始都是C語言,幾年來也在逐漸往python上轉。python以其簡單易用,函式庫眾多而備受青睞。在機器

Python學習筆記基本資料型別

一、數字型別整數:int浮點數:float注:python不同於其它語言,int不區分short、int、long型別,只有一種型別int;浮點數不區分float與double型別,只有一種型別float,在python中float就表示double注:1/2得到的結果是0.

小白學 Python2基礎資料型別

人生苦短,我選Python 引言 前文傳送門 小白學 Python(1):開篇 接觸一門新的語言,肯定要先了解它的基礎資料型別。啥?你問我為啥要先了解基礎資料型別? 為了你的生命安全,還是乖乖聽我 BB 吧,別想那些有的沒的。 Python 擁有著很多的基礎資料型別,那麼,什麼是資料型別呢? 開啟

小白學 Python3基礎資料型別

人生苦短,我選Python 引言 前文傳送門 小白學 Python(1):開篇 小白學 Python(2):基礎資料型別(上) 前面我們介紹過了數字,本篇我們接著聊另一個常用的基礎資料型別:字串。 什麼是字串? 字串是由字元組成的一串有限序列,如: 'geekdigging' 、 "geek

python123(Python程式語言設計)-----練習3基本資料型別

例項3:天天向上的力量 描述 工作日模式要努力到什麼水平,才能與每天努力1%一樣?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬ -A君: 一年365天,每天進步1%,不停歇

3java基本資料型別常量、轉換

java基本資料型別 變數的作用:申請記憶體來儲存值。(申請什麼型別的變數就只能儲存什麼型別的變數) java兩大資料型別: 內建資料型別 引用資料型別 內建資料型別 共8種 6種數字型別(四個整型、兩個浮點型) 1

Python(第十一篇) 網路程式設計簡單的tcp套接字通訊、粘包現象

  一、簡單的tcp套接字通訊 套接字通訊的一般流程 服務端 server = socket() #建立伺服器套接字 server.bind() #把地址繫結到套接字,網路地址加埠 server.listen() #監聽連結 inf_loop:

Python(第十三篇) 網路程式設計socketserver深度解析

一、socketserver 模組介紹 socketserver是標準庫中的一個高階模組,用於網路客戶端與伺服器的實現。(version = "0.4") 在python2中寫作SocketServer,在python3中寫作socketserver。 socoketserver兩個主要的類,一個是S

Python(第十四篇) 網路程式設計驗證客戶端合法性

一、驗證客戶端合法性 如果你想在分散式系統中實現一個簡單的客戶端連結認證功能,又不像SSL那麼複雜,那麼利用hmac+加鹽的方式來實現。   客戶端驗證的總的思路是將服務端隨機產生的指定位數的位元組傳送到客戶端,兩邊同時用hmac進行加密,然後對生成的密文進行比較,相同就是合法的客戶端,不相同就是不合法

Python(第十七篇)併發程式設計程序、multiprocess模組、建立程序方式、join()、守護程序

一、在python程式中的程序操作  之前已經瞭解了很多程序相關的理論知識,瞭解程序是什麼應該不再困難了,執行中的程式就是一個程序。所有的程序都是通過它的父程序來建立的。因此,執行起來的python程式也是一個程序,那麼也可以在程式中再建立程序。多個程序可以實現併發效果,也就是說,當程式中存在多個程序的時候

Python(第十八篇) 併發程式設計程序同步鎖/互斥鎖、訊號量、事件、佇列、生產者消費者模型

一、程序鎖(同步鎖/互斥鎖) 程序之間資料不共享,但是共享同一套檔案系統,所以訪問同一個檔案,或同一個列印終端,是沒有問題的, 而共享帶來的是競爭,競爭帶來的結果就是錯亂,如何控制,就是加鎖處理。 例子 #併發執行,效率高,但競爭同一列印終端,帶來了列印錯亂 from multiproc

《Java從入門到失業》第基礎語法及基本程式結構基本算數運算子1

3.7運算子       數學運算是計算機的基本用途之一,Java提供了非常豐富的運算子來支援。我們根據運算的特點和性質,把運算子劃分為幾組:基本算數運算子、自增自減運算子、關係運算符、位運算子、邏輯運算子、賦值運算子、其他運算子。下面分別介紹。 3.7.1基本算數運算子 &nb

python

區別 英語 utf-8 系統 存在 創建 tel run 變量名 python文件目錄操作 python中對文件、文件夾(文件操作函數)的操作需要涉及到os模塊和shutil模塊。 得到當前工作目錄,即當前Python腳本工作的目錄路

第五篇基本資料型別及用法2

1 info={"k1":"v1","k2":"v2"} 2 v=info.setdefault("k3",123) 3 print(info,v) 4 #結果:{'k1': 'v1', 'k2': 'v2', 'k3': 123} 123   字典dict 1.字典的元素是鍵值

第六篇基本資料型別及用法3

集合set 1.集合由不同無序的元素組成,集合中只能存放不可變型別(數字,字串,元祖),例如:s={123,"abc",(1,2,"a")}   -重複元素會被去除,所以可用集合去重,例:不考慮順序,去除列表li中重複元素   1 li=["alex",123,"he