반응형
목록에서 가장 긴 문자열을 선택하는 Python의 가장 효율적인 방법은 무엇입니까?
가변 길이 목록이 있고 현재 평가중인 목록 항목이 목록에 포함 된 가장 긴 문자열인지 테스트하는 방법을 찾으려고합니다. 그리고 파이썬 2.6.1을 사용하고 있습니다
예를 들면 다음과 같습니다.
mylist = ['123','123456','1234']
for each in mylist:
if condition1:
do_something()
elif ___________________: #else if each is the longest string contained in mylist:
do_something_else()
나는 파이썬을 처음 접했고 뇌 방귀를 가지고 있다고 확신합니다. 내가 간과하는 간단하고 우아한 간단한 목록 이해가 있습니까?
감사!
로부터 파이썬 문서 자체, 당신은 사용할 수 있습니다 max
:
>>> mylist = ['123','123456','1234']
>>> print max(mylist, key=len)
123456
가장 긴 문자열이 둘 이상인 경우 ( '12'및 '01'생각) 어떻게됩니까?
가장 긴 요소를 얻으려면 시도하십시오.
max_length,longest_element = max([(len(x),x) for x in ('a','b','aa')])
그리고 정규 foreach
for st in mylist:
if len(st)==max_length:...
def longestWord(some_list):
count = 0 #You set the count to 0
for i in some_list: # Go through the whole list
if len(i) > count: #Checking for the longest word(string)
count = len(i)
word = i
return ("the longest string is " + word)
또는 훨씬 쉽게 :
max(some_list , key = len)
목록에서 가장 작거나 큰 항목을 얻으려면 내장 min 및 max 함수를 사용하십시오.
lo = min(L) hi = max(L) As with sort (see below), you can pass in a key function
목록 항목을 비교하기 전에 맵핑하는 데 사용됩니다.
lo = min(L, key=int) hi = max(L, key=int)
http://effbot.org/zone/python-list.htm
문자열에 올바르게 매핑하고 비교로 사용하면 max 함수를 사용할 수있는 것처럼 보입니다. 물론 목록의 각 요소가 아니라 최대 한 번만 찾는 것이 좋습니다.
len(each) == max(len(x) for x in myList)
아니면 그냥 each == max(myList, key=len)
def LongestEntry(lstName):
totalEntries = len(lstName)
currentEntry = 0
longestLength = 0
while currentEntry < totalEntries:
thisEntry = len(str(lstName[currentEntry]))
if int(thisEntry) > int(longestLength):
longestLength = thisEntry
longestEntry = currentEntry
currentEntry += 1
return longestLength
반응형
'Programing' 카테고리의 다른 글
jQuery를 사용한 소문자와 대문자 (0) | 2020.04.30 |
---|---|
하나의 뷰에 레이아웃을 부 풀리는 방법 (0) | 2020.04.29 |
JavaScript 또는 HTML을 사용하여 페이지 새로 고침 (0) | 2020.04.29 |
모든 하위 디렉토리에 대해 git pull을 실행하십시오. (0) | 2020.04.29 |
탭 레이아웃 탭 선택 (0) | 2020.04.29 |