Расщепление строки Python - PullRequest
       9

Расщепление строки Python

0 голосов
/ 04 января 2010

Если у меня есть строка 'x=10', как я могу извлечь 10 как целое число, используя одну строку кода?

Ответы [ 5 ]

7 голосов
/ 04 января 2010
>>> s = "x=10"
>>> int(s.split('=')[-1])
10
4 голосов
/ 04 января 2010

Sure:

a = "x=10"
b = int(a.split('=')[1])
3 голосов
/ 04 января 2010
result = int(my_string.rpartition("=")[-1])

Обратите внимание, однако, что если после знака = есть что-то еще, функция прервется.

Так что x=10, x=560 и x=1010001003010 все будут работать. Однако y=1,341 будет разорван с ошибкой ValueError.

ValueError: invalid literal for int() with base 10: '1,341'

Edit: На самом деле Питро использует split еще лучше, поскольку вы, вероятно, не гарантированы, что будет только один знак =.

А также исправлена ​​проблема partition против rpartition.

3 голосов
/ 04 января 2010
s = 'x=10' 
i = int(s[2:])
0 голосов
/ 04 января 2010

Отметьте это:

answer = int("x=10".partition("=")[2])
...