No Image

Преобразование списка в строку

СОДЕРЖАНИЕ
281 просмотров
10 марта 2020

Как преобразовать строку в список?

Скажем, что строка похожа на text = "a,b,c" . После преобразования text == [‘a’, ‘b’, ‘c’] и, надеюсь, text[0] == ‘a’ , text[1] == ‘b’ ?

В качестве альтернативы вы можете использовать eval() , если вы доверяете безопасной строке:

Просто добавьте к существующим ответам: надеюсь, вы столкнетесь с чем-то более похожим на это в будущем:

Но с чем вы сейчас сталкиваетесь, перейдите с ответом @Cameron.

Следующий код Python превратит вашу строку в список строк:

Я не думаю, что вам нужно

В python вам редко нужно преобразовать строку в список, потому что строки и списки очень похожи

Изменение типа

Если у вас действительно есть строка, которая должна быть массивом символов, сделайте следующее:

Не меняя тип

Обратите внимание, что строки очень похожи на списки в python

Строки имеют аксессоры, например списки

Строки повторяются, например списки

Строки – это списки. Почти.

Если вы действительно хотите массивы:

Если вам не нужны массивы и вы хотите посмотреть по индексу у своих символов, помните, что строка является итерируемой, как и список, за исключением того факта, что она неизменна:

Если вы хотите разбить пробелы, вы можете просто использовать .split() :

Как преобразовать список в строку в C#?

когда я выполнить toString на объекте списка я получаю:

10 ответов

может быть, вы пытаетесь сделать

вы можете заменить ", " на то, что вы хотите разделить элементы в списке.

Я собираюсь пойти с моим чувством кишечника и предположить, что вы хотите объединить результат вызова ToString для каждого элемента списка.

Если вы хотите что-то немного более сложное, чем простое соединение, вы можете использовать LINQ, например

Читайте также:  Oscar gaming mouse x 705k

возьмет ["A", "B", "C"] и произведет " (a)(b)(c)"

результат будет такой:

в качестве альтернативы окружающая среда.NewLine вы можете заменить его строковым разделителем строк по вашему выбору.

String.Join(" ", myList) или String.Join(" ", myList.ToArray()) . Первый аргумент-это разделитель между подстроками.

В зависимости от вашей версии .NET вам может потребоваться сначала использовать ToArray() в списке..

на .ToString() метод для ссылочных типов обычно разрешается обратно в System.Object.ToString() Если вы не переопределить его в производном типе (возможно, используя методы расширения для встроенных типов). Поведение по умолчанию для этого метода-вывод имени типа, на котором он вызывается. Итак, вы видите ожидаемое поведение.

вы можете попробовать что-то вроде string.Join(", ", myList.ToArray()); для достижения этой цели. Это дополнительный шаг, но его можно поместить в метод расширения на System.Collections.Generic.List чтобы сделать это немного проще. Что-то вроде этого:–6–>

(обратите внимание, что это свободный и непроверенный код. У меня сейчас нет под рукой компилятора. Так что вы захотите немного поэкспериментировать.)

у вас List – поэтому, если вы хотите их объединить, что-то вроде

будет работать (по крайней мере, в .NET 4.0). Первый параметр-разделитель. Таким образом, вы также можете разделять запятыми и т. д.

вы также можете посмотреть на использование StringBuilder для выполнения конкатенаций, а не формирования списка.

трудно сказать, но, возможно, вы ищете что-то вроде:

это неявно вызовет метод ToString () для каждого из элементов в списке и объединит их.

Если вы хотите повернуть элементы в списке в большую длинную строку, сделайте следующее: String.Join("", myList) . Некоторые старые версии фреймворка не позволяют передавать IEnumerable в качестве второго параметра, поэтому вам может потребоваться преобразовать список в массив путем вызова .Метод toArray().

Читайте также:  Как закачать видео в облако

прямой ответ на ваш вопрос String.Join Как уже упоминалось.

однако, если вам нужны некоторые манипуляции, вы можете использовать Aggregate

Иногда требуется преобразовать строку в целое число или в число с плавающей точкой для осуществления определённых операций в Python.

Если вы попробуете выполнить то или иное действие со строкой в виде чисел, то получите ошибку.

Этот код приведёт к ошибке :

В Python можно использовать функции int и float для преобразования строки в целое число или число с плавающей точкой до осуществления каких-либо операций.

Использование функции int() для преобразования строки в целое число

Рассмотрим следующий код:

В результате его работы выведется значение переменной c, представляющее собой сумму переменных str_a и b.

Преобразование десятичной строки в число с плавающей точкой

Можно использовать класс float для преобразования строки в число с плавающей точкой.

Пример использования float для преобразования строки:

Замечание: если вы попытаетесь использовать здесь функцию int(), то получите ошибку.

Преобразование списка строковых чисел в список целых чисел

Если нужно преобразовать строки из чисел, содержащиеся в списке, тогда используйте генератора списков.

Будет создан новый список, в котором можно применить функцию int в каждой итерации.

Будет выведен новый список, состоящий из целых чисел, полученных из строк.

Преобразование списка строк в список чисел с плавающей точкой

Аналогичным образом можно использовать float вместо int для преобразования списка, содержащего строки из целых чисел. Рассмотрим пример:

Код для преобразования элементов списка в числа с плавающей точкой:

Пример преобразования строки с запятыми в число

Ну а как насчёт строки наподобие “5,000,000”? Если попытаетесь преобразовать ее, используя функции int() или float() , то получите ошибку.

Читайте также:  Как найти d link в сети

Решением будет использование import locale . Например:

Но это может вызвать проблемы в остальных локалях. Другое решение заключается в том, чтобы заменить запятые пустыми строками, то есть“”, а затем использовать функцию int.

В результате получаем целое значение. Это же решение можно применить для конвертации строки в число с плавающей точкой.

Пример преобразования строки в число для расчёта високосного года

Пользовательский ввод в Python- программах воспринимается как строка. В следующем примере пользователя просят ввести год. После ввода значения программа сообщает, високосный это год или нет.

Для этого введённое значение сначала преобразуется в целое число, а затем используется формула расчёта високосного года.

Вводимая строка сразу преобразуется в целое число, а затем используется для расчёта.

Как преобразовать целое число в строку?

Для преобразования целых чисел в строки в Python можно использовать функцию str() . Функция str() принимает объект, который может быть типа int , float , double и т.п.

Рассмотрим пример преобразования переменной типа int в строку, которая затем используется как строка для конкатенации:

Если бы целочисленная переменная была использована без функции str(), возникла бы ошибка TypeError.

Данная публикация представляет собой перевод статьи « 5 examples to Convert a Python string to int and float » , подготовленной дружной командой проекта Интернет-технологии.ру

Комментировать
281 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector