Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Looking to find max from the combine list as follows:

['filename1', 1696, 'filename2', 5809,....]

I have tried following:

max(['filename1', 1696, 'filename2', 5809,....])

that return me TypeError: '>' not supported between instances of 'int' and 'str'. Any suggestion would help. What I want is to find the max integer value from the list above mentioned.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
930 views
Welcome To Ask or Share your Answers For Others

1 Answer

Use list comprehension with isinstance to extract the int and then use max.

Ex:

f = ['filename1', 1696, 'filename2', 5809]
print(max([i for i in f if isinstance(i, int)]))
#or generator
print(max((i for i in f if isinstance(i, int))))    #Better Option

Output:

5809
5809

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...