Numbers(數(shù)字型):
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供井研網(wǎng)站建設(shè)、井研做網(wǎng)站、井研網(wǎng)站設(shè)計(jì)、井研網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、井研企業(yè)網(wǎng)站模板建站服務(wù),十年井研做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
即我們常說(shuō)的1,2,3等等這些數(shù)字,Python有兩個(gè)常見(jiàn)的數(shù)據(jù)類型轉(zhuǎn)化函數(shù):int和float,一般數(shù)據(jù)類型可以用來(lái)做一些算術(shù)功能,如加減乘除乘方等等,還可以用作比較功能,一般返回的是true和false,也就是大于、等于、小于、小于等于諸如此類的有很多,這里就不一一解釋了。
String(字符串):
字符串是Python中比較常見(jiàn)的數(shù)據(jù)類型之一,能夠使用str函數(shù)將其他類型的數(shù)據(jù)強(qiáng)制轉(zhuǎn)換為字符串類型,有三種生成方法,即單引號(hào)'XXX',雙引號(hào)"XXX",三引號(hào)'''XXX
''',其中三引號(hào)一般用于字符串內(nèi)容較長(zhǎng)的時(shí)候。
List(列表):
列表可以說(shuō)是Python中最為活躍的一個(gè)數(shù)據(jù)類型,使用也很頻繁,操作也很多,可以通過(guò)list函數(shù)或方括號(hào)[]進(jìn)行列表的創(chuàng)建。常見(jiàn)函數(shù)如求長(zhǎng)度,用len,合并多個(gè)列表用+,列表元素重復(fù)*等等。
Tuple(元組):
元組可以看成是一種不可修改的特殊列表,可以通過(guò)小括號(hào)()或者tuple函數(shù)來(lái)創(chuàng)建,即便是只有一個(gè)元素,元組中的元素最后也要有逗號(hào)。常見(jiàn)操作有求長(zhǎng)度len,元組元素重復(fù)*,元組拼接+,查看最值max、min等。
Dictionary(字典):字符串、列表、元組都是有序的數(shù)據(jù)類型,字典是無(wú)序的數(shù)據(jù)類型,主要是用來(lái)存放具有一定映射關(guān)系的數(shù)據(jù)。可以通過(guò)兩種方法創(chuàng)建,1、{}2、dict函數(shù)創(chuàng)建。
set(集合):
集合不能有重復(fù)元素,可以看作是列表和字典的“雜合體”,可以通過(guò)三種方式創(chuàng)建,1、set函數(shù),空集合只能用這種方法;2、{}創(chuàng)建,3、創(chuàng)建凍集合,frozenst。
import math
m = int(input("請(qǐng)輸入第一個(gè)數(shù)字:"))
n = int(input("請(qǐng)輸入第二個(gè)數(shù)字:"))
if m 0 or n 0 or m - n 0:
print("負(fù)數(shù)是沒(méi)有階乘,請(qǐng)重新輸入!")
else:
result = math.factorial(m) / math.factorial(n) / math.factorial(m - n)
print("按照公式C(m, n) = m!/n! /(m - n)!,C({0},{1})的答案為 {2}".format(m, n, result))
python有兩個(gè)內(nèi)置的函數(shù)用于實(shí)現(xiàn)排序,一個(gè)是list.sort()函數(shù),一個(gè)是sorted()函數(shù)。
區(qū)別1:list.sort()函數(shù)只能處理list類型數(shù)據(jù)的排序;sorted()則可以處理多種類型數(shù)據(jù)的排序。
區(qū)別2:list.sort()會(huì)修改原來(lái)的list為排序后的結(jié)果;sorted()不會(huì)修改原來(lái)的數(shù)據(jù),只是返回一個(gè)排序后的對(duì)象。
下面來(lái)動(dòng)手寫點(diǎn)代碼進(jìn)行測(cè)試:
list進(jìn)行簡(jiǎn)單的排序
1 a=['a','f','c','x','e']2 a.sort()3 a4 [a','c','e','f','x']
sorted()進(jìn)行簡(jiǎn)單排序
1 a=['a','f','c','x','e']2 a_new=sorted(a)3 a_new4 ['a', 'c', 'e', 'f', 'x']
list.sort()和sorted都有默認(rèn)的參數(shù)reverse,該參數(shù)的默認(rèn)值為“False”,即默認(rèn)升序排列。如果要進(jìn)行降序排列:
1 a=['a','f','c','x','e']2 a_new=sorted(a,reverse=True)3 a_new4 ['x', 'f', 'e', 'c', 'a']
對(duì)元組進(jìn)行排列,不能使用list.sort()函數(shù):
1 a=('a','f','c','x','e')2 a_new=a.sort()3
4 ttributeError: 'tuple' object has no attribute 'sort'
對(duì)字典的排序可以按照字典的key或者value進(jìn)行排序:
1 dic={"aa":11,"ff":5,"ee":22}2 printsorted(dic.keys())3 ['aa', 'ee', 'ff']
從python2.4開(kāi)始list.sort()和sorted()都引入了key參數(shù)來(lái)指定一個(gè)函數(shù)進(jìn)行排序,有了key參數(shù)以后我們就可以對(duì)更加復(fù)雜的數(shù)據(jù)進(jìn)行排序 。
假如需要排序的數(shù)據(jù)為一個(gè)list,但list的每一個(gè)元素都是一個(gè)字典,排序的方法如下:
dic=[{"name":"sunny","age":20},
{"name":"bell","age":5},
{"name":"jim","age":1},
{"name":"jan","age":10}]print sorted(dic,key=lambda arg:arg.get('age'),reverse=False) #按照每個(gè)字典的age的值進(jìn)行排序,字典的方法dict.get(key)將返回指定鍵的值。
#輸出結(jié)果為:[{'age': 1, 'name': 'jim'}, {'age': 5, 'name': 'bell'}, {'age': 10, 'name': 'jan'}, {'age': 20, 'name': 'sunny'}]
print sorted(dic,key=lambda arg:arg.get('name'),reverse=False) #按照每個(gè)字典的name的值進(jìn)行排序
#輸出結(jié)果為:[{'age': 5, 'name': 'bell'}, {'age': 10, 'name': 'jan'}, {'age': 1, 'name': 'jim'}, {'age': 20, 'name': 'sunny'}]
假如需要排序的數(shù)據(jù)為一個(gè)二維的list,即list的每一個(gè)元素也是一個(gè)list,方法與上面的例子類似:
a=[['100','8','30'],['200','5','50'],['300','1','20']]print sorted(a,key=lambda arg:arg[1]) #按照每個(gè)list的第1個(gè)元素進(jìn)行排序
[['300', '1', '20'], ['200', '5', '50'], ['100', '8', '30']]
前面的2個(gè)例子中,key參數(shù)的值都是函數(shù)。在sorted函數(shù)中,key參數(shù)后面的函數(shù)的參數(shù)的數(shù)量只能是一個(gè)。lambda arg:arg.get('age')是一個(gè)lambda匿名函數(shù),它是一個(gè)沒(méi)有函數(shù)名的單語(yǔ)句函數(shù)。冒號(hào)左邊是參數(shù),冒號(hào)右邊的返回值,返回值將被用于排序。
1、新建一個(gè)將兩個(gè)列表組合成一個(gè)列表。
2、中文編碼聲明注釋:#coding=gbk。
3、定義度兩個(gè)列知表,分別道是s1和s2,并且賦值。
4、使用回+號(hào)將兩個(gè)列表組合成一個(gè)。
5、使用print()函數(shù)輸出s3。
6、運(yùn)行腳本,輸出新組合出答來(lái)的列表。
注意事項(xiàng):
Python@用做函數(shù)的修飾符,可以在模塊或者類的定義層內(nèi)對(duì)函數(shù)進(jìn)行修飾,出現(xiàn)在函數(shù)定義的前一行回,不允許和函數(shù)定義在同一行。
一個(gè)修飾符就是一個(gè)函數(shù),它將被修飾的函數(shù)作為參數(shù),并返回修飾后的同名函數(shù)或其他可調(diào)用的東西。
在Python的函數(shù)中偶爾會(huì)看到函數(shù)定義的上一行有@functionName的修飾,當(dāng)解釋器讀到@這樣的修飾符的答時(shí)候會(huì)優(yōu)先解除@后的內(nèi)容,直接就把@的下一行的函數(shù)或者類作為@后邊函數(shù)的參數(shù),然后將返回值賦給下一個(gè)修飾的函數(shù)對(duì)象。
本文標(biāo)題:Python數(shù)值組合函數(shù),python求排列組合的函數(shù)
網(wǎng)頁(yè)網(wǎng)址:http://www.chinadenli.net/article12/dseoegc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、微信公眾號(hào)、網(wǎng)頁(yè)設(shè)計(jì)公司、小程序開(kāi)發(fā)、軟件開(kāi)發(fā)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)