Python에 처음 접했고 목록 및 정렬 멤버를 사용하여 놀았습니다.키 다중 매개 변수를 사용하여 L.sort를 사용하여 문자열 목록 정렬
li=["hgjtud", "iernfd", "scoeps", "stiiss", "stripe"]
지금은 나는 다음과 같은 기능을 정의하는 몇 순위에 따라 그 목록을 정렬하려면 :
def rank_string(str1,str2):
rank=0
for i in range(len(str1)): #all strings will be checked to be equal length
if (str1[i]==str2[i]):
rank += 1
return rank
나는 무작위 문자열 목록 (동일한 길이의 모든 문자열을)이있는 경우 내 질문은
지금은 목표 문자열과 함께이 기능을 사용하여 내 목록을 정렬하려면, 그래서 나는 다음과 같은 시도 :
target_string="stripe"
df = lambda x:rank_string(x,target_string)
sorted_list = resultlist.sort(key=df)
내가 모든 목록 값은 키 후 부여됩니다 인상이었다 순위 함수의 한 번 통과 한 다음 이것에 따라 정렬 할 수 있습니까? 이것은 실행되지만 sorted_list에는 None 값이 있습니다. 나는 그것이 n00b 인 것으로 가정하고, 나는 근본적인 무언가를 놓치고있다. 뭐? :-)
미리 도움을 주셔서 감사합니다.
네! 내가 예상했던대로 작동합니다. 감사. – Englishbob