给定一个字符串列表,说str1= ["State0", "State1", "State2", "State5", "State8"]
。
我需要找到最高的州(此处为“ State8”)。我如何找到它?
还有没有比这更短的方法了,
str1= ["State0", "State1", "State2", "State5", "State8"]
k=0
for n in str1:
s1 = ''.join(x for x in n if x.isdigit())
if k<int(s1):
k=int(s1)
print("State"+str(k))`
输出:“ State8”
最佳答案
您可以使用内置的max
函数指定以下key
:
import re
l = ["State0", "State1", "State2", "State5", "State8"]
max(l, key=lambda x: int(re.search(r'\d+', x).group(0)))
# 'State8'