LINUX.ORG.RU

История изменений

Исправление Virtuos86, (текущая версия) :

sa = [float(f) if all(i.isdigit() for i in f.split(".", 1)) else 0 for f in s.split(',')]
Но проще float(f) в try/except завернуть, чем проверки выдумывать.
И один момент: после float(f) вместо, например, 22.1 там может оказаться 22.1000000001.

Исправление Virtuos86, :

sa = [float(f) if all(i.isdigit() for i in f.split(".", 1)) else 0 for f in s.split(',')]
Но проще float(f) в try/except завернуть, чем проверки выдумывать.
И один момент: после float(f) вместо, например, 22.1 там может оказаться 22.0000000001.

Исходная версия Virtuos86, :

sa = [float(f) if all(i.isdigit() for i in f.split(".")) else 0 for f in s.split(',')]
Но проще float(f) в try/except завернуть, чем проверки выдумывать.
И один момент: после float(f) вместо, например, 22.1 там может оказаться 22.0000000001.