定義:集合是多個元素的無序組合
創新互聯是一家專注網站建設、網絡營銷策劃、微信小程序開發、電子商務建設、網絡推廣、移動互聯開發、研究、服務為一體的技術型公司。公司成立10余年以來,已經為上千余家成都濕噴機各業的企業公司提供互聯網服務。現在,服務的上千余家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。
特點:集合類型與數學中的集合概念一致,幾何元素之間無序、每個元素唯一、不存在相同元素,幾何元素不可更待、不能存在可變數據類型。
非可變數據類型:整數、浮點數、復數、字符串類型、元組類型等
表示:{},元素間用,分隔
建立:{} 或者set{},建立空集合必須使用set{}
舉例:
基本操作符:
增強操作符:
實例:
A-B
{123}
B-A
{'3','1','2'}
AB
{'p','y'}
A|B
{'1','p','2','y','3',123}
A^B
{'2',123,'3','1'}
p123y
A
set()
1.包含關系比較:
True
False
2.數據去重
{'p','y',123}
['p','y',123]
定義:序列是具有先后關系的一組元素
特點:序列是一維元素向量,元素類型可以不同,元素可以相同:類似數學元素序列:元素間有序列引導,通過下標訪問序列的特定元素
序列是一個基類類型,衍生為:字符串類型、元組類型、列表類型
序號的定義:正向遞增序號、反向遞減序號,與字符串中相似。
['.io',123,'python']
'oi.321nohtyp'
序列類型的通用函數和方法:
3
'y'
定義:元組類型是序列類型的一種擴展,一旦創建就不能修改
形式:元組使用()或者tuple()創建,元素之間用逗號分隔:小括號使不使用都可以。
舉例:
('cat','dog','tiger','human')
(4352,'bule',('cat','dog','tiger','human'))
元組類型繼承序列類型全部通用操作:操作符、處理函數、處理方法
元組類型創建后不能修改,因此沒有特殊操作
('human','tiger',dog','cat')
'tiger'
定義:列表是序列類型的一種擴展,創建后其中的元素可以被隨意修改
使用:[]或者list()創建,元素間可以用逗號隔開,列表中各元素類型可不同,無長度限制
['cat','dog','tiger',1024]
['cat','dog','tiger',1024]
列表類型操作函數及其方法:
['cat',1,2,3,4,'tiger',1024]
修改列表:
練習:
序列:元組和列表兩種重要類型
應用場景:元組用于元素不改變的場景,更多用于固定搭配場景:列表更加靈活,它是最常用的序列類型
作用:表達一組有序數據并且處理問題;數據保護
元素遍歷:
元組類型:
數據保護:不希望數據被程序所改變,轉換成元組類型
('cat',1,2,3,4,'tiger',1024)
基本統計值需求:給出一組數并且理解
定義:總個數、求和、平均值、方差、中位數...
總個數:len()
求和:for...in
平均值:求和/總個數
方差:各數據與平均數差的平方的和的平均數
中位數:排序,然后... 奇數找中間一個,偶數中間兩個的平均
映射:是一種索引和數據的對應關系,也是鍵和值的對應關系。
映射類型:由用戶數據為定義索引
字典類型:數據的組織與表達的一種新的形態,是映射的體現。
鍵值對:鍵是數據索引的擴展,字典是鍵值對的集合,鍵值對間無序。
生成:{}和dict()創建,鍵值對之間用冒號:表示
舉例:{鍵1:值1,鍵2:值2,...,鍵n:值n}
在字典變量中,通過鍵獲得值:
字典變量={鍵1:值1,...,鍵n:值n}
值=字典變量[鍵]
字典變量[鍵]=值
用[]來向字典中增加或者索引鍵值對
舉例:
'北京'
生成空字典:
de={};type(de)
class 'dict'
type(x) 返回變量x的類型
舉例:
True
dict_keys(['中國','美國','法國])
dict_values(['北京','華盛頓','巴黎'])
實例:
'北京'
'伊斯蘭堡'
('中國','北京')
練習:
1.映射的表達:映射無處不在,鍵值對也無處不在,統計數據出現的次數,數據是鍵,次數是值。
字典的主要作用:表達鍵值對的數據進而操作他們
2.元素遍歷:
for k in d:
語句塊
定義:jieba庫是優秀的第三方中文分詞庫,需要額外安裝
安裝方法:(cmd命令下)pip install jieba
作用:利用中文詞庫確定漢字間的關聯概率,字間概率大的組成詞組,形成分詞效果,用戶還可以向其中自定義的添加詞組。
分類:精確模式、全模式、搜索引擎模式
精確模式:將詞組精確的分開,不存在冗余單詞
全模式:將所有可能的詞組都掃描出來,有冗余
搜索引擎模式:在精確模式的基礎上,將長詞再次切分
舉例:
['中國','是','一個','偉大','的','國家']
['中國','國是','一個','偉大','的','國家']
['中華','華人','人民','共和','共和國','中華人民共和國','是','偉大','的']
需求:一篇文章中出現的詞的頻率統計
分類:英文文本,中文文本
舉例:
英文:哈姆雷特(hamlet)
中文:三國演義(threekingdoms)
在Python 3.7及以上版本中,math.comb()函數用于計算組合數,并返回一個整數。如果傳入的參數不合法,例如列表中的元素是負數,那么函數將引發ValueError異常。如果參數的值太大,導致計算結果超出了Python可以表示的最大整數范圍,那么函數將返回OverflowError異常。
如果math.comb(f1(LIST), f2(LIST))返回0,有可能是以下幾個原因之一:
f1(LIST)和f2(LIST)的返回值之一是0,那么它們相乘的結果也會是0。這時,math.comb()函數將返回0。
f1(LIST)和f2(LIST)的返回值之一太大,超出了Python可以表示的最大整數范圍。這時,math.comb()函數將返回OverflowError異常。
f1(LIST)和f2(LIST)的返回值之一是負數,這時math.comb()函數將引發ValueError異常。如果沒有對異常進行處理,程序將會中斷并輸出錯誤信息。
如果你需要進一步確定為什么會返回0,可以打印出f1(LIST)和f2(LIST)的返回值,檢查它們是否滿足預期。另外,你也可以嘗試使用try-except語句捕獲ValueError和OverflowError異常,以查找原因并采取相應的措施。例如:
import mathtry:
result = math.comb(f1(LIST), f2(LIST))except ValueError: ? ?print("Invalid argument - negative value found in the list")except OverflowError: ? ?print("Result is too large to represent as an integer")else: ? ?print("Result is:", result)
這樣可以讓程序更加健壯,并且在出現異常時能夠提供有用的提示信息。
在日常的工作學習中,我們肯定會遇到排列組合問題,比如,在5種顏色的球中,任意取3個,共有多少種組合方式,這也包括有放回和無放回抽樣。
在python中,自帶的排列組合函數,都在python的指導工具包itertools中。
product 笛卡爾積(有放回抽樣排列)
permutations 排列(不放回抽樣排列)
combinations 組合,沒有重復(不放回抽樣組合)
combinations_with_replacement 組合,有重復(有放回抽樣組合)
python3中返回的為對象,可以通過迭代讀取將值輸出。
end
網頁標題:python組合數函數 python組合數計算
本文地址:http://vcdvsql.cn/article22/doiedjc.html
成都網站建設公司_創新互聯,為您提供App設計、搜索引擎優化、動態網站、商城網站、、網站內鏈
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯