pythontext中按字典序排列最小的子序列?
类解决方案(对象):
defsmallestsubsequence(self,text):
“””
:typetext:str
:rtype:str
“””
stack=[
]lastuo={}
consived={}
foriinrange(len(text)-1,-1,-1):
iftext[i]notinlastuo:
lastuo[text[i
=i
consived[text[i
]false
print(lasto)
i=0
whilei<len(text):
print(stack,i,text[i])
如果len(stack)==0:堆栈.append(text[i])
考虑了[text[i
=真
i=1
elifstack[-1]>text[i]和考虑了[text[i
==假:
如果最后一个uo[stack[-1
>i:
考虑了[stack[-1
=假堆栈.pop()
否则:
已考虑[text[i
=真堆栈.append(text[i])
i=1
elif堆栈[-1]<text[i],并考虑[text[i
==false:堆栈.append(text[i])
考虑[text[i
=true
i=1
否则:
i=1
返回“”。join(i表示i的语法,字典应该是无序的,所以在编写工程代码时,字典应该是无序的,并且应该对顺序进行排序。然而,在python3的最新实现版本中,为了提高py3的速度,改变了dictionary的实现方式。这种实现模式提高了py3的整体速度,在这种实现模式下,字典是井然有序的。但是,语法中不包含此功能,默认情况下字典应该是无序的。
原文标题:Python根据键值对字典排序 python text中按字典序排列最小的子序列?,如若转载,请注明出处:https://www.saibowen.com/wenda/24267.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。