數據類型:
float ― 浮點數可以精確到小數點后面15位 int ― 整型可以無限大 bool ― 非零為true,零為false list ― 列表
Float/Int:
運算符:
/ ― 浮點運算除
?// ― 當結果為正數時,取整; 11//5 =2; 11//4 = 2
當結果為負數時,向下取整;-11//5=-3; -11//4=-3
當分子分母都是float,結果為float型
** ―? 計算冪; 11**2 =121
% ― 取余
其他數學運算 :
1.分數:
import fractions;
fractions.Fraction(1,3) ― 1/3
import math;
―math.sin()
―math.cos()
―math.tan()
―math.asin()
math.pi ―3.1415926…
math.sin(math.pi/2) ― 1.0
math.tan(math.pi/4) ― 0.9999999999…
math.sin(); math
List:
創建: a_list = [‘a', ‘b', ‘mpilgrim', ‘z', ‘example']
a_list[-1] ― ‘example'
a_list[0] ― ‘a'
a_list[1:3] ― [‘b', ‘mpilgrim', ‘z']
a_list[:3] ― [‘a', ‘b', ‘mpilgrim' ]
a_list[3:] ― [‘z', ‘example']
a_list[:]/a_list ― [‘a', ‘b', ‘mpilgrim', ‘z', ‘example']
*注:a_list[:] 與a_list 返回的是不同的list,但它們擁有相同的元素
a_list[x:y]― 獲取list切片,x指定第一個切片索引開始位置,y指定截止但不包含的切片索引位置。
向list添加元素:
a_list = [‘a']
a_list = a_list + [2.0, 3] ― [‘a', 2.0, 3]
a_list.append(True) ― [‘a', 2.0, 3, True]
a_list.extend([‘four','Ω']) ― [‘a', 2.0, 3, True,'four','Ω']
a_list.insert(0,'Ω') ― [‘Ω','a', 2.0, 3, True,'four','Ω']
list其他功能:
a_list = [‘a', ‘b', ‘new', ‘mpilgrim', ‘new']
a_list.count(‘new') ― 2
a_list.count(‘mpilgrim') ― 1
‘new' in a_list ― True
a_list.index(‘new') ― 2
a_list.index(‘mpilgrim') ― 3
a_list.index(‘c') ― through a exception because ‘c' is not in a_list.
del a_list[1] ― [‘a', ‘new', ‘mpilgrim', ‘new']
a_list.remove(‘new') ― [‘a', mpilgrim', ‘new']
注:remove只刪除第一個'new'
a_list.pop() ― 'new'/[‘a', mpilgrim' ](刪除并返回最后一個元素)
a_list.pop(0) ― ‘a' / [‘mpilgrim'] (刪除并返回第0個元素)
空列表為假,其他列表為真。
元組(元素是不可變的列表):
定義:與列表的定義相同,除了整個元素的集合用圓括號而,不是方括號閉合
a_tuple = (“a”, “b”, “mpilgrim”, “z”, “example”)
a_tuple = (‘a', ‘b', ‘mpilgrim', ‘z', ‘example')
tuple 只能索引,不能修改。
元組相對于列表的優勢:
1.速度快
2.“寫保護”,更安全
3.一些元組可以當作字典鍵??
內置的tuple()函數接受一個列表參數并將列表轉化成元組
同理,list()函數將元組轉換成列表
同時賦多個值:
v = (‘a',2, True)
(x,y,z) = v ― x=‘a', y=2, z=True
range() ― 內置函數,進行連續變量賦值
(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday) = range(7)
Monday ― 0
??? Thursday ― 3
??? Sunday ― 6
??????? range() ― 內置函數range()構建了一個整數序列,range()函數返回一個迭代器。
集合(里面的值是無序的):
??? 創建集合:用逗號分隔每個值,用大括號{}將所有值包括起來。
??? a_set = {1}
??? type(a_set) ―
??? 以列表為基礎創建集合:
??? a_list = [‘a', ‘b', ‘mpilgrim', True, False, 42]
??? a_set = set(a_list)
??? a_set ― {‘a', ‘b', ‘mpilgrim', True, False, 42}
??? a_set = set() ― 得到一個空的set
??? a_dic = {} ― 得到一個空的dic????
??? 修改集合:
??? a_set = {1,2}
??? a_set.add(4) ― {1,2,4}
??? len(a_set) ― 3
??? a_set.add(1) ― {1,2,4}
??? a_set.update({2,4,6}) ― {1,2,4,6}
??? a_set.update({3,6,9}, {1,2,3,5,8,13}) ― {1,2,3,4,5,6,8,9,13}
??? a_set.update([15,16]) ― {1,2,3,4,5,6,8,9,13,15,16}
??? a_set.discard(16) ― {1,2,3,4,5,6,8,9,13,15}
??? a_set.discard(16) ― {1,2,3,4,5,6,8,9,13,15}
??? a_set.remove(15) ―{1,2,3,4,5,6,8,9,13}
??? a_set.remove(15) ― through a exception
??? a_set.pop() ― return 1 / {2,3,4,5,6,8,9,13}
??? 注:a_set.pop()隨機刪掉集合中的某個值并返回該值。
??? a_set.clear() ― set()
??? a_set.pop() ― through exception.??
???
集合的其他運算:
??? a_set = {2,3,4,5,6,8,9,13}
??? 30 in a_set ― False
??? 4 in a_set ― True
??? b_set? = {3,4,10,12}
??? a_set.union(b_set) ― 兩個集合的并
??? a_set.intersetion(b_set) ― 兩個集合的交集
??? a_set.difference(b_set) ― a_set中有但是b_set中沒有的元素
??? a_set.symmetric_difference(b_set) ― 返回所有只在一個集合中出現的元素
??? a_set.issubset(b_set) ― 判斷a_set是否是b_set的子集
??? b_set.issuperset(a_set) ― 判斷b_set是否是a_set的超集
??? 在布爾類型上下文環境中,空集合為假,任何包含一個以上元素的集合為真。
字典(鍵值對的無序集合):
??? 創建字典:
??? a_dic = {‘server':'db.diveintopython3.org',
??? ‘databas':'mysql'}
??? a_dic[‘server'] ― ‘db.diveintopython3.org'
??? a_dic[‘database'] ― ‘mysql'?
??
修改字典:
??? a_dic[‘user'] = ‘mark'? ― {'user': 'mark', 'server': 'db.diveintopython3.org',???? 'database':???? ‘blog'}
??? a_dic[‘database'] = ‘blog' ―? {'user': 'mark', 'server': 'db.diveintopython3.org',???? 'database': ‘blog'}
??? a_dic[‘user'] = ‘bob' ― {'user': 'bob', 'server': 'db.diveintopython3.org',???? 'database':???? ‘blog'}
??? a_dic[‘User'] = ‘mark' ― {'user': 'bob', ‘Uuser': 'mark', 'server':???? 'db.diveintopython3.org', 'database': ‘blog'}
??? 注:1.在字典中不允許有重復的鍵。對現有鍵賦值將會覆蓋原有值;
??? 2.隨時可以添加新的鍵值對;
??? 3.字典鍵區分大小寫。
??? 混合值字典:
??? suffixes = { 1000:[‘KB', ‘MB', ‘GB', ‘TB', ‘PB', ‘EB', ‘ZB', ‘YB'],
??????? 1024: [‘KiB', ‘MiB', ‘GiB', ‘TiB', ‘PiB' , ‘EiB', ‘ZiB', ‘YiB']}
??? len(suffixes) ― 2
??? 1000 in suffixes ― True
??? suffixes[1024] ― [‘KiB', ‘MiB', ‘GiB', ‘TiB', ‘PiB' , ‘EiB', ‘ZiB', ‘YiB']
??? suffixes[1000][3] ― ‘TB'
???
??? 空字典為假, 所有其他字典為真
以上所述就是本文的全部內容了,希望大家能夠喜歡。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
