Ⅰ 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))