compare duas strings python que contêm números

UPDATE: Eu deveria ter especificado isso mais cedo, mas nem todos os nomes são simplesmente carros alegóricos. Por exemplo, alguns deles são "prefixados" com "YT". Por exemplo, "YT1.1. Então, você tem o mesmo problema YT1.9 <YT1.11 deve ser verdadeiro. Estou realmente surpreso que a comparação de cadeias falhe ....

lá, esta deve ser uma pergunta bastante simples, mas não consigo encontrar a resposta. Gostaria de classificar várias planilhas XL por nome. Cada um dos nomes é um número, mas da mesma maneira que as "seções" do livro são numeradas, o que significa que a seção 4.11 vem depois da 4.10, ambas após 4.9 e 4.1. Eu pensei que simplesmente comparar esses números como uma string faria, mas obtenho o seguinte:

>>> s1 = '4.11'
>>> s2 = '4.2'
>>> s1> s2
False
>>> n1 = 4.11
>>> n2 = 4.2
>>> n1 > n2
False

como posso comparar esses dois valores de modo que 4.11 seja maior que 4.

questionAnswers(5)

yourAnswerToTheQuestion