Я относительно новичок в Python, и это библиотеки, и мне было интересно, как я могу создать массив строк с заданным размером. Это легко в java, но мне было интересно, как я могу это сделать в python.
пока все, о чем я могу думать, это
и некоторые, как когда я пытаюсь вызвать строковые методы на нем, отладчик дает мне ошибку X операция не существует в кортеже объекта.
и если бы это было на java, это то, что я хотел бы делать.
код ошибки
вопрос: как я могу сделать то, что обычно делаю на Java в Python, сохраняя при этом код чистым.
9 ответов
в python вы обычно не делаете то, что пытаетесь сделать. Но, приведенный ниже код сделает это:
в Python тенденция обычно заключается в том, что можно использовать список не фиксированного размера (то есть элементы могут быть добавлены/удалены к нему динамически). Если бы вы следовали этому, не было бы необходимости выделять коллекцию фиксированного размера заранее и заполнять ее пустыми значениями. Скорее, когда вы получаете или создаете строки, вы просто добавляете их в список. Когда приходит время удалять значения, вы просто удаляете соответствующее значение из строки. Я бы предположил, что вы, вероятно, можете использовать эту технику для этого. Например (в Python 2.синтаксис х):
конечно, некоторые ситуации могут потребовать чего-то более конкретного. В вашем случае, хорошей идеей может быть использование дека. Проверьте сообщение здесь:Python, принуждая список к фиксированному размеру. С помощью этого вы можете создать deque, который имеет фиксированный размер. Если новое значение добавляется в конец, Первый элемент (глава deque) удаляется, а новый элемент добавляется в deque. Это может сработать для того, что вам нужно, но Я не считаю, что это считается "нормой" для Python.
простой ответ: "Нет". В тот момент, когда вам нужно что-то фиксированной длины, вы либо застряли на старых привычках, либо пишете для очень конкретной проблемы с собственным уникальным набором ограничений.
текущий массив: [‘1′,’-1′,’1′] желаемый массив: [1,-1,1]
3 ответа
34 Решение sepp2k [2011-03-15 03:06:00]
Используйте int , который преобразует строку в int, внутри понимания списка, например:
32 miku [2011-03-15 03:07:00]
Список понятий — это путь (см. @sepp2k answer). Возможная альтернатива с map :
Иногда требуется преобразовать строку в целое число или в число с плавающей точкой для осуществления определённых операций в Python.
Если вы попробуете выполнить то или иное действие со строкой в виде чисел, то получите ошибку.
Этот код приведёт к ошибке :
В Python можно использовать функции int и float для преобразования строки в целое число или число с плавающей точкой до осуществления каких-либо операций.
Использование функции int() для преобразования строки в целое число
Рассмотрим следующий код:
В результате его работы выведется значение переменной c, представляющее собой сумму переменных str_a и b.
Преобразование десятичной строки в число с плавающей точкой
Можно использовать класс float для преобразования строки в число с плавающей точкой.
Пример использования float для преобразования строки:
Замечание: если вы попытаетесь использовать здесь функцию int(), то получите ошибку.
Преобразование списка строковых чисел в список целых чисел
Если нужно преобразовать строки из чисел, содержащиеся в списке, тогда используйте генератора списков.
Будет создан новый список, в котором можно применить функцию int в каждой итерации.
Будет выведен новый список, состоящий из целых чисел, полученных из строк.
Преобразование списка строк в список чисел с плавающей точкой
Аналогичным образом можно использовать float вместо int для преобразования списка, содержащего строки из целых чисел. Рассмотрим пример:
Код для преобразования элементов списка в числа с плавающей точкой:
Пример преобразования строки с запятыми в число
Ну а как насчёт строки наподобие “5,000,000”? Если попытаетесь преобразовать ее, используя функции int() или float() , то получите ошибку.
Решением будет использование import locale . Например:
Но это может вызвать проблемы в остальных локалях. Другое решение заключается в том, чтобы заменить запятые пустыми строками, то есть“”, а затем использовать функцию int.
В результате получаем целое значение. Это же решение можно применить для конвертации строки в число с плавающей точкой.
Пример преобразования строки в число для расчёта високосного года
Пользовательский ввод в Python- программах воспринимается как строка. В следующем примере пользователя просят ввести год. После ввода значения программа сообщает, високосный это год или нет.
Для этого введённое значение сначала преобразуется в целое число, а затем используется формула расчёта високосного года.
Вводимая строка сразу преобразуется в целое число, а затем используется для расчёта.
Как преобразовать целое число в строку?
Для преобразования целых чисел в строки в Python можно использовать функцию str() . Функция str() принимает объект, который может быть типа int , float , double и т.п.
Рассмотрим пример преобразования переменной типа int в строку, которая затем используется как строка для конкатенации:
Если бы целочисленная переменная была использована без функции str(), возникла бы ошибка TypeError.
Данная публикация представляет собой перевод статьи « 5 examples to Convert a Python string to int and float » , подготовленной дружной командой проекта Интернет-технологии.ру