摘要:第二類是段不點(diǎn)亮狀態(tài)即不包含段可以看作組成的是一個(gè)環(huán)零所以需要在雙倍長(zhǎng)度的字符串中取出所有長(zhǎng)度為的所有子串共有種每個(gè)字串內(nèi)部作排序后再去重留下種組合。這樣兩類總共合計(jì)有種組合。
from itertools import chain,combinations as combif __name__ == '__main__': L = list('abcdefg') C = [[''.join(c) for c in list(comb(L,i+1)) if 'g' in c] for i in range(7)] D = list(chain.from_iterable(C)) X = [e for e in D if 'a' in e and 'b' not in e and 'f' not in e or 'd' in e and 'c' not in e and 'e' not in e] E = [d for d in D if d not in X] L = list('abcdef')*2 A = [L[i:j] for i in range(len(L)) for j in range(i+1,len(L)+1) if len(L[i:j])<7] B = list(set([''.join(sorted(a)) for a in A])) F = sorted(B + E) print('可表達(dá)字符總數(shù):',len(F)) print('所有組合的列表:',F)
可表達(dá)字符總數(shù): 80
所有組合的列表: ['a', 'ab', 'abc', 'abcd', 'abcde', 'abcdef', 'abcdefg', 'abcdeg', 'abcdf', 'abcdfg', 'abcdg', 'abcef', 'abcefg', 'abceg', 'abcf', 'abcfg', 'abcg', 'abdef', 'abdefg', 'abdeg', 'abef', 'abefg', 'abeg', 'abf', 'abfg', 'abg', 'acdef', 'acdefg', 'acdfg', 'acefg', 'acfg', 'adef', 'adefg', 'aef', 'aefg', 'af', 'afg', 'b', 'bc', 'bcd', 'bcde', 'bcdef', 'bcdefg', 'bcdeg', 'bcdfg', 'bcdg', 'bcefg', 'bceg', 'bcfg', 'bcg', 'bdefg', 'bdeg', 'befg', 'beg', 'bfg', 'bg', 'c', 'cd', 'cde', 'cdef', 'cdefg', 'cdeg', 'cdfg', 'cdg', 'cefg', 'ceg', 'cfg', 'cg', 'd', 'de', 'def', 'defg', 'deg', 'e', 'ef', 'efg', 'eg', 'f', 'fg', 'g']
分兩類進(jìn)行分別計(jì)算:第一類是g段處于點(diǎn)亮狀態(tài),即在'abcdefg'中取出所有字母組合,但要排除不包含g的,排除后有64種;最后還要排除含a但不含b或f的、含d但不含c或e的共15個(gè)(“有了a但沒有b或f就形成ag不連通”,另一個(gè)同理),排除后共49種組合。
第二類是g段不點(diǎn)亮狀態(tài)即不包含g段,可以看作a~f組成的是一個(gè)環(huán)(零),所以需要在雙倍長(zhǎng)度的字符串'abcdefabcdef'中取出所有長(zhǎng)度為1~6的所有子串,共有57種;每個(gè)字串內(nèi)部作排序后再去重,留下31種組合。這樣,兩類總共合計(jì)有80種組合。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/125085.html
摘要:什么是推導(dǎo)式大家好,今天為大家?guī)韱栁易钕矚g的推導(dǎo)式使用指南,讓我們先來看看定義推導(dǎo)式是的一種獨(dú)有特性,推導(dǎo)式是可以從一個(gè)數(shù)據(jù)序列構(gòu)建另一個(gè)新的數(shù)據(jù)序列的結(jié)構(gòu)體。 什么是推導(dǎo)式 大家好,今天為大家?guī)韱栁易钕矚g的Python推導(dǎo)式使用指南,讓我們先來看看定義~ 推導(dǎo)式(comprehensions)是Python的一種獨(dú)有特性,推導(dǎo)式是可以從一個(gè)數(shù)據(jù)序列構(gòu)建另一個(gè)新的數(shù)據(jù)序列的結(jié)構(gòu)體。...
摘要:解釋就相當(dāng)于把每個(gè)序列元素的每一個(gè)單獨(dú)用一個(gè)管道函數(shù)處理,再把他們按順序組合成一個(gè)新可迭代對(duì)象注意這個(gè)管道函數(shù)只能是單參數(shù)函數(shù),如果想傳遞多個(gè)參數(shù)怎么辦使用偏函數(shù)怕有些人看不懂,這里就不用了,而是用普通函數(shù)定義方式固定值固定值固定值固定值固 map In [25]: list(map(lambda a:a**2, [1,2,3,4])) Out[25]: [1, 4, 9, 16] 解...
摘要:譯文鏈接編程派有時(shí)候,利用語言簡(jiǎn)潔優(yōu)雅地解決問題的方法,會(huì)隨著時(shí)間變化。隨著不斷進(jìn)化,統(tǒng)計(jì)列表元素?cái)?shù)量的方法也在改變。最后將字典中相應(yīng)鍵的值設(shè)置為新的計(jì)數(shù)。我們發(fā)現(xiàn)這種方法比之前的代碼更加簡(jiǎn)潔優(yōu)雅,所以提交了此次修改。 showImg(https://segmentfault.com/img/remote/1460000010723715); 文中如對(duì)專業(yè)術(shù)語的翻譯有誤,請(qǐng)Pytho...
摘要:查看原函數(shù)的參數(shù)注釋甚至函數(shù)名的時(shí)候,只能看到裝飾器的相關(guān)信息。也就是說,它是裝飾器的裝飾器,并且以原函數(shù)為參數(shù),作用是保留原函數(shù)的各種信息,使得我們之后查看被裝飾了的原函數(shù)的信息時(shí),可以保持跟原函數(shù)一模一樣。 貌似只能創(chuàng)建一個(gè)專欄,所以這篇文章只好放到JavaScript從前端到全終端里了? 原文鏈接:Effective Python Python 作為一門入門極易并容易上癮的語...
閱讀 740·2023-04-25 19:43
閱讀 3986·2021-11-30 14:52
閱讀 3816·2021-11-30 14:52
閱讀 3873·2021-11-29 11:00
閱讀 3808·2021-11-29 11:00
閱讀 3907·2021-11-29 11:00
閱讀 3584·2021-11-29 11:00
閱讀 6197·2021-11-29 11:00