python自動化運維學習第二天--資料型別
python資料型別
常用的資料型別有數值、字串、布林、元組、列表、字典和集合
數值
數值型別包括整型、長整型、浮點型和複數型
整型取值範圍到-231— +231,型別為int
長整型會在數值後加個"L"或者“l”,型別為long
十六進位制會在數值前加“0x"
python下使用type(a)命令檢視變數的型別,a為變數名
浮點型為帶小數的數值,型別為float
複數型別為complex,數值後有個“j”
字串
字串有三種定義方法:
- 單引號,a=‘abc’
- 雙引號,a=“abc”
- 三引號,a=’’‘abc’’’
三引號還可以作為註釋來使用
字串型別為str
字串可以通過索引和切片取字元
如:a=“abcdef”
a[3]=“d”
a[1:3]=“bc”
布林
0,1 True, False 是 bool型別
空是False , 其他是True
0是False, 1是True , 其他也歸於 True
元組
字串、列表和元組都是序列
序列的兩個主要特點是索引操作和切片操作
- 索引操作可以從序列中抓取一個特定專案
- 切片操作能夠獲取序列的一個切片,即一部分序列
序列的基本操作
- len(): 序列的長度 如:len(‘abcdef’) = 6
- +: 連線兩個序列 如:‘abc’+‘def’ = ‘abcdef’
- *:重複序列元素 如:‘ab’*2 = ‘abab’
- in: 判斷元素是否在序列中 如:‘a’ in ‘abc’ = True
- max():返回最大值 如: max(‘564897’) = ‘9’
- min():返回最小值 如:min(‘564897’) = ‘4’
- cmp(x,y):比較兩個序列是否相等 如:cmp(‘adc’,‘adc’) = 0 (0代表相等,-1代表不相等)
元組和列表相似,都不可變
元組(tuple)使用小括號表示 如:t=() t=(2,) t=(‘abc’,‘DEF’,234)
當元組只有一個元素時需要在後邊新增一個',',用來標記為元組,而不是數值或者字串
元組可以拆分,把元組的元素賦值給變數
如:t=(1,2,3) a,b,c=t 則 a=1,b=2,c=3
列表
列表(list)是處理一組有序專案的資料結構,既可以在列表中儲存一個序列專案
列表是可變型別資料,使用中括號來表示
如:list1=[] list2=list() list3=[‘a’,1,2]
列表操作
- 取值 切片和索引
- 新增 list.append(‘a’)
- 刪除 del list[2] list.remove(list[3])
- 修改 list[]=x
- 查詢 var in list
list的方法
- list.append(3) 追加元素
- list.insert(2,‘d’) 插入元素
- list.sort() 元素排序
- list.reverse() 元素翻轉
- list.pop(2) 取出元素(列表中取出索引為2的元素,會刪除該元素)
- list.remove(‘b’) 刪除元素
- list.extend(‘d’) 擴充套件元素(可以新增可迭代變數)
字典
字典是python中的唯一對映型別(雜湊表),使用大括號來表示,如 dic={} dic={‘name’:‘mike’,‘age’:23}
字典物件是可變的,但字典的鍵必須使用不可變物件,一個字典中可以使用不同的鍵值。
字典的方法:
dic={‘a’:1,2:‘b’,(3,4):‘c’}
- keys() 輸出字典中的key 如:dic.keys() 輸出 [‘a’, 2, (3, 4)]
- values() 輸出字典中的value 如: dic.values() 輸出 [1, ‘b’, ‘c’]
- items() 列出key-value對 如: dic.items() 輸出 [(‘a’, 1), (2, ‘b’), ((3, 4), ‘c’)]
- get() 輸出對應key的value值 如: dic.get(‘a’) 輸出 1
- has_key() 判斷字典中是否有該key 如: dic.has_key(2) 輸出 True
- copy() 複製字典 如: dic1=dic.copy()
- pop() 取出該key的value值並刪除該k-y對 如: dic.pop(2) 輸出 ‘b’,dic字典中沒有了(2,‘b’)這個鍵值對
練習1:
將 “123” 轉換成整數
a = "123"
int(a)
將 “9999999999999999999” 轉換成長整數
a = “9999999999999999999”
int(a)
將 “3.1415926” 轉換成一個浮點數
a = “3.1415926”
float(a)
將 123 轉換成一個字串
a = 123
str(a)
現有以下字串
字串1:" abc deFGh&ijkl opq mnrst((uvwxyz "
字串2:" ABC#DEF GH%IJ MNOPQ KLRS&&TUVWX(&YZ "
使用字串的各種方法轉換成如下方式
ABCDEFGHIJKLMNOPQRSTUVWXYZzyxwvutsrqponmlkjihgfedcba
a=" abc deFGh&*ijkl opq mnrst((uvwxyz "
b=" ABC#DEF GH%IJ MNOPQ KLRS&&TUVWX(*&YZ "
l1=list(b)
l1.sort()
l2=list(a.lower())
l2.sort(reverse=True)
"".join(l)[-26:]+"".join(l2)[:26]
練習2:
現有列表
list1 = [‘XXXX’, ‘b’, 3, ‘c’, ‘&’, ‘a’, 3, ‘3’, 3, ‘aa’, ‘3’, ‘XXXX’]
list2 = [‘e’, ‘f’, ‘g’]
要求對其做以下操作:
- 取出 ‘XXXX’ 中間的部分,形成一個新的列表list3
list3 = list1[1:-1]
- 對list3 做一下幾部操作
1)刪除特殊符號
list3.remove('&')
2)統計 3 在list3中出現的次數
list3.count(3)
3)用最簡短的程式碼去除list3中 26個字母以外的元素(要求只能對list3操作)
4)對list3排序
list3.sort()
5)在末尾追加’d’,並把list2追加到list3
list3.append('d')
list3.extend(list2)
練習3:
現有兩個變數
a = (‘h’,)
b = (‘h’)
1)將a和b分別追加到上一題的list3中,觀察有什麼區別
list3.append(a)
list3.append(b)
a為元組,b為字串
2)將1生成的list3轉換成元組(擴充套件:自己搜尋方法)
tup = tuple(list3)
3)打印出只有一個元素’h’的元組,在2中生成的元組中的索引
tup.index(('h',))