Ⅰ python字母順序排序
1. (按字母順序排列)——sort()函數
例:
cars=['bmw','audi','toyota','subaru']
cars.sort()
print(cars)
輸出得到
['audi', 'bmw', 'subaru', 'toyota']
Ⅱ python 字元串如何取部分字元串,進行重新排列組合
>>>importitertools
>>>srcstr='abcd'
>>>[''.join(x)forxinitertools.permutations(src,2)]
['ab','ac','ad','ba','bc','bd','ca','cb','cd','da','db','dc']
>>>[''.join(x)forxinitertools.permutations(src,3)]
['abc','abd','acb','acd','adb','adc','bac','bad','bca','bcd','bda','bdc','cab','cad','cba','cbd','cda','cdb','dab','dac','dba','dbc','dca','dcb']
>>>
Ⅲ 有人能幫忙寫個簡單的按名字首字母排序python程序嗎
#--encoding:utf-8--
def sortName(list):
#保存名字和第一個字母的map
nameMap ={}
#保存第一個字母並稍後進行排序
nameList =[]
for i in list:
nameMap[i[0]] = i
nameList.append(i[0])
nameList.sort()
for i in nameList:
print(nameMap[i])
if __name__ == '__main__':
list = ['Michael jack','Bill Cliton','Tony']
sortName(list)
運行結果:
Bill Cliton
Michael jack
Tony
汗 ,還有第二個字母,沒看清。。不過原理一樣的,map中key保存兩個字母,就行了
修改後
#--encoding:utf-8--
def sortName(list):
#保存名字和第一個字母的map
nameMap ={}
#保存第一個字母並稍後進行排序
nameList =[]
for i in list:
len = i.find(' ')
str = i[0]
if(len > 0):
str = i[0]+i[len+1]
print str
nameMap[str] = i
nameList.append(str)
nameList.sort()
for i in nameList:
print(nameMap[i])
if __name__ == '__main__':
list = ['Michael jack','Michael cack','Michael zack','Bill Cliton','Tony']
sortName(list)
結果:
Bill Cliton
Michael cack
Michael jack
Michael zack
Tony
Ⅳ 如何用Python對輸入的字元串實現各字母降頻排序
s=raw_input("pleaseinputstring:")
freq={}
forcins:
freq[c]=freq.setdefault(c,0)+1
print(','.join(sorted(freq,key=lambdax:(-freq[x],x))))
Ⅳ Python實現的排列組合計算操作示例
Python實現的排列組合計算操作示例
本文實例講述了Python實現的排列組合計算操作。分享給大家供大家參考,具體如下:
1. 調用 scipy 計算排列組合的具體數值
>> from scipy.special import comb, perm
>> perm(3, 2)
6.0
>> comb(3, 2)
3.0
2. 調用 itertools 獲取排列組合的全部情況數
>> from itertools import combinations, permutations
>> permutations([1, 2, 3], 2)
<itertools.permutations at 0x7febfd880fc0>
# 可迭代對象
>> list(permutations([1, 2, 3], 2))
[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
>> list(combinations([1, 2, 3], 2))
[(1, 2), (1, 3), (2, 3)]
Ⅵ python 字元串如何取部分字元串,進行重新排列組合
按照你的要求編寫的Python程序如下(這是4個字元取2個字元,如果要取3個字元,請把repeat參數的值由2改成3)
import itertools
print([''.join(i) for i in itertools.proct("abcd",repeat=2)])
運行結果
['aa', 'ab', 'ac', 'ad', 'ba', 'bb', 'bc', 'bd', 'ca', 'cb', 'cc', 'cd', 'da', 'db', 'dc', 'dd']
Ⅶ python全排列代碼,求解釋
defperm(l):
#定義自定義函數函數名為perm參數為l當傳入參數時l等於該參數
if(len(l)<=1):
#if語句如果傳入的參數l的長度小於等於1(也就是0)則運行下面代碼否則跳過該if##語句
return[l]
#返回列表[l]此處為遞歸的終止
r=[]
#定義列表並初始化r
foriinrange(len(l)):
#for循環(c語言常這么說)迭代i的變化范圍為0到l(字母L)的長度-1
s=l[:i]+l[i+1:]
#將l的前三項以及l的第i+1後的字串賦給s
p=perm(s)
#遞歸將s做perm的處理遞歸請網路
forxinp:
#迭代p列表
r.append(l[i:i+1]+x)
#將l的第i項添加進r列表
returnr
#返回r列表
函數功能:將傳入perm()的字串、列表等參數進行全排列 並返回全排列後的列表
#遞歸不是人的思考方式…
Ⅷ 請教如何用python按字母順序排序英文名字但是不可以用sort函數
代碼如下:
list = ['banana', 'apple', 'orange', 'blueberry', 'watermelon', 'strawberry', 'mango']
print(list)
list.sort()#根據字母順序排序
print(list)#['apple', 'banana', 'blueberry', 'mango', 'orange', 'strawberry', 'watermelon']
list.sort(reverse = True) #根據字母相反順序排序
print(str(list) + "
")#['watermelon', 'strawberry', 'orange', 'mango', 'blueberry', 'banana', 'apple']
(8)對字母進行排列組合python擴展閱讀
sorted()函數四種重要的特性:
1、sorted()函數不需要定義。它是一個內置函數,可以在標準的Python安裝中使用。
2、在沒有額外的參數的情況下,sorted()函數按照升序對值進行排列,也就是按照從小到大的順序。
3、原始的numbers不會改變,因為sorted()函數提供了一個新的有序的輸出結果,並且不改變原始值的順序。
4、當sorted()函數被調用時,它會提供一個有序的列表作為返回值。
最後一點意味著列表可以使用sorted()函數,並且輸出結果可以立刻賦值給一個變數。
Ⅸ 如何用python編寫排列組合
importmath
importrandom
oTemp=[]
oList=[]
i=0
whileTrue:
a=random.randint(1,4)
ifainoTemp:
continue
else:
oTemp.append(a)
i+=1
ifi%4==0:
Num=oTemp[0]*1000+oTemp[1]*100+oTemp[2]*10+oTemp[3]
ifNuminoList:
i=0
oTemp=[]
continue
else:
oList.append(Num)
i=0
oTemp=[]
iflen(oList)==24:
break
forminoList:
forninrange(2,int(math.sqrt(m))+1):
ifm%n==0:
oList.remove(m)
break
printoList
這段代碼是用1-4生成4位數,4個位上的數字不相同的素數。可以做下參考
Ⅹ 用python編寫一段程序,輸入若干單詞,按照單詞長短進行排序,並統計所有單詞中每個字母(a-z)出現的次數
1、解法:對輸入的單詞進行分割得到列表,遍歷列表中的單詞,二級遍歷單詞中的字元,判斷字元是否存在字元字典中,存在則計數+1,不存在則初始化字典為1
2、知識點:字典、列表、for循環、if判斷、input獲得輸入、print列印
3、代碼如下:
#-*-coding:UTF-8-*-
#簡歷一個字典,key=26個英文字母,value為出現次數
wordDict={}
#獲得輸入單詞字元串
str=input("請輸入一串單詞")
#用空格分割單詞,存到列表
strArr=str.split(sep='')
#遍歷列表中的單詞
forwordinstrArr:
#遍歷單詞中的字母
forchinword:
#判斷字典中是否存在鍵key
ifchinwordDict:
wordDict[ch]=wordDict.get(ch)+1#計數+1
else:
wordDict[ch]=1#計數初始化為1
#列印輸出
forkey,valueinwordDict.items():
print("%s=%d"%(key,value))