Как извлечь целые числа из строки (целые числа, разделенные пробелом) и присвоить их различным переменным.
например.
Учитывая строка: "2 3 4 5"
правопреемник: n=2, m=3, x=4, y=5
Преобразование строки в целое число, разделенное пробелом
ответ
Нечто подобное (читать комментарии):
>>> s = "2 3 4 5"
>>> s.split() # split string using spaces
['2', '3', '4', '5'] # it gives you list of number strings
>>> n, m, x, y = [int(i) for i in s.split()] # used `int()` for str --> int
>>> n # iterate over list and convert each number into int
2 # and use unpack to assign to variables
число значений в строке может быть переменным. В этом случае вы можете назначить переменные в dictionnary следующим образом:
>>> s = "2 3 4 5"
>>> temp = [(count, int(value)) for count, value in enumerate(s.split(' '), 1)]
>>> vars = {}
>>> for count, value in temp:
... vars['var' + str(count)] = value
>>> vars
{'var4': 5, 'var1': 2, 'var3': 4, 'var2': 3}
>>> vars['var2']
3
Если вы действительно не хотите dictionnary, вы могли бы рассмотреть следующие вопросы:
>>> temp = [(count, int(value)) for count, value in enumerate(s.split(' '), 1)]
>>> for count, value in temp:
... locals()['var{}'.format(count)] = value
>>> var2
3
locals()['var{}'.format(count)] = value
добавит локальную переменную с именем «var {count}» и присвоить ему значение. locals()
показывает локальные переменные и их значения.
Помните: сделайте это, только если вы действительно знаете, что делаете. Прочтите также примечание к locals
в «Python documentation»: «Содержание этого словаря не должно изменяться, изменения могут не влиять на значения локальных и свободных переменных, используемых интерпретатором».
, вы можете написать как «var = dict ((« var »+ str (count), int (value)) для count, значение в enumerate (s.split())' в одной строке. .. если кто-то использует Python3, то он может писать выражение в '{}' dict compression ... .. но ваша идея в виде слова хорошая. –
Я собирался добавить то же самое в свой ответ в области 'vars()', но я где-то читал поведение не определено (я думаю, в Apress) .Я не уверен в том, но если это определенное поведение, то это очень хороший ответ. Я очень люблю учиться на Python. –
Я просто [читаю здесь] (http: // stackoverflow.com/questions/8028708/dynamically-set-local-variable-in-python) «Модификация locals() не определена». О, это неизвестно. –
- 1. Regex заменить целое число, разделенное пробелом
- 2. Целое число, разделенное запятой
- 3. Как округлить число, разделенное пробелом в C#?
- 4. Чтение ввода, разделенное пробелом
- 5. Преобразование строки в целое число
- 6. Преобразование строки в целое число
- 7. Преобразование строки в целое число?
- 8. преобразование строки в целое число
- 9. Преобразование строки в целое число?
- 10. Преобразование строки в целое число
- 11. Преобразование строки в целое число
- 12. Преобразование строки в целое число (число)
- 13. Целое число из кортежа, разделенное, дает целое число вместо float?
- 14. Преобразование строки строки в целое число
- 15. Преобразование строки в целое число в ios
- 16. Преобразование строки в целое число в oracle
- 17. Преобразование строки в символ в целое число
- 18. Преобразование строки в целое число в asp.net
- 19. Преобразование строки в целое число в C++
- 20. Преобразование строки в целое число в схеме
- 21. преобразование строки в целое число в Javascript
- 22. Преобразование строки в целое число в vb.net
- 23. Пользователь вводит целое число, разделенное пробелами
- 24. Преобразование строки в целое число на Android
- 25. Преобразование алфавитной строки в целое число?
- 26. C# Преобразование строки в целое число
- 27. Преобразование строки (временная метка) в целое число
- 28. BGScript: преобразование строки в целое число
- 29. Преобразование временной строки в целое число
- 30. UWP Преобразование строки в целое число
Знаете ли вы, сколько ints в строке? –
Если строка имеет нечисловые символы, такие как 's =" 2, 3, 45, a, b, 5, "", вы можете использовать 're.findall (r '\ d +', s)' для преобразования в список строк чисел. –