В Python, как разбить строку на несколько целых чисел?
Я читаю строку, которая всегда пять чисел, разделенных пробелом, я хочу разбить это на пять отдельных целых чисел, чтобы я мог обрабатывать их отдельно.
до сих пор я имею:
reader = csv.reader([data.data], skipinitialspace=True) for r in reader: print r
который позволяет мне распечатывать значения, как хранить их как отдельные целые числа?
- Проблема с размером массива расширения python C ++ (C2133)
- Как найти критические точки 2D-массива в python?
- web2py: как скопировать массив python в javascript
- Преобразование последовательности Python в массив NumPy, заполнение отсутствующих значений
- используя sympy для компиляции функции с аргументами массива
Вы могли бы сделать это так. Предполагая, что s
– ваша линия от reader
.
>>> s='2 3 4 5 6' >>> s.split(' ') ['2', '3', '4', '5', '6'] #just split will give strings >>> [int(i) for i in s.split(' ')] #typecasting to ints [2, 3, 4, 5, 6] #now you have ints
Слово осторожности, хотя, я предполагаю, что нет другого типа данных в строке от reader
. В противном случае этот код может привести к сбою. Вы можете, конечно, try: except:
обходить это или использовать более тонко настроенные методы синтаксического анализа.
ОБНОВЛЕНИЕ 0: блестящий один лайнер от @Pavel Annosov – map(int, s.split())
. map – отличная встроенная функция python, которая позволяет сопоставить функцию с любым итерабельным.
ОБНОВЛЕНИЕ 1: Его довольно просто посмотреть, как это будет работать. но сделать это еще более понятным для @ user2152165
ints_list = [] for r in reader: ints_list = map(int, r.strip().split(' '))
ints_list
списке ints_list
есть список ваших ints. делай то, что хочешь с ним …
Возможно, это полезно кому-то, но если вы хотите вернуть пустой массив вместо ошибки, когда строка имеет длину 0 байт, вы можете улучшить один лайнер с помощью встроенного, если это так:
s = "1 2 3" result = [] if s == "" else map(int, s.split(" ")) print result
- Преобразование изображения PIL в skimage?
- Ошибка памяти Python с помощью считывателя numpy и csv
- Как передать массив из python в сценарий оболочки и выполнить его?
- Как отсортировать массивы numpy в массивах?
- Numpy isnan () терпит неудачу в массиве поплавков (из приложения pandas dataframe)
- логические массивы и отображение в python
- Сумма булевых операторов на массивах Bool Numpy (ошибка?)
- возможные уникальные комбинации между двумя массивами (разного размера) в python?
- Конкатенация строки со значениями массива