Перейти к содержимому

Как из строки сделать список чисел в python

  • автор:

Создать список чисел из строки с числами через пробел

Если притронутся к вашему коду, то тут заметно, что по причине того, что после 20 нет пробела, он всё это не видит, так что даю вам задачу: на основе придуманного вами метода создайте то, что просят в задаче.

13 июл 2022 в 9:11

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Можно воспользоваться генератором списка:

s = '45 30 55 20 80 20' a = [int(x) for x in s.split()] 

Отслеживать
ответ дан 20 янв 2017 в 9:32
user194374 user194374

UPD. поправлено исходя из комментариев

s = '45 30 55 20 80 20' print (list(map(int, s.split()))) 

Отслеживать
52.2k 11 11 золотых знаков 108 108 серебряных знаков 312 312 бронзовых знаков
ответ дан 20 янв 2017 в 9:22
10.5k 22 22 серебряных знака 35 35 бронзовых знаков
Спасибо огромное, очень помогли
20 янв 2017 в 9:30

@МоРгАн В Python 3.x map возвращает итератор (map object), можно вызвать на нем list() чтобы преобразовать в список

20 янв 2017 в 9:30
@jfs, да, действительно.
20 янв 2017 в 10:45

  • python
  • массивы
  • python-3.x
  • строки
  • списки
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как из строки-числа сделать список чисел

Задача следующая:
Мне нужно считать строку, например, ‘234567’, и вывести список чисел [2,3,4,5,6,7].

Я знаю метод строк split(), который позволит строку разбить на подстроки [‘2′,’3′,’4′,’5′,’6′,’7’], но чтобы он успешно сработал, нужно, чтобы между числами стояли пробелы: ‘2 3 4 5 6 7’. Буду очень благодарен, если подскажете, как вставлять пробелы в исходную строку

Лучшие ответы ( 3 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как из строки сделать список
Как из строки id_производителя — фирма, id_поставки — дата_поставки сделать спиок , ] но также.

Как из строки сделать многомерный список
Как с помощью split из строки id_производителя — фирма, id_поставки — дата_поставки сделать список.

Как сделать список с кумулятивной суммой чисел?
Sample Input: 12345 Sample Output: Как сделать список с кумулятивной суммой чисел?

Эксперт Python

7279 / 4102 / 1794
Регистрация: 27.03.2020
Сообщений: 6,926

Лучший ответ

Сообщение было отмечено Welemir1 как решение

Решение

80phone,

1 2 3 4 5 6 7
s ='234567' lst = [int(i) for i in s] # список чисел print(lst) lst = list(map(int, iter(s))) # список чисел lsts = list(iter(s)) # список символов print(lst) print(lsts)

Автоматизируй это!

Эксперт Python

7054 / 4559 / 1207
Регистрация: 30.03.2015
Сообщений: 13,132
Записей в блоге: 29

Лучший ответ

Сообщение было отмечено 80phone как решение

Решение

ЦитатаСообщение от Gdez Посмотреть сообщение

b = list(iter(s)) # список символов
чего народ то распугиваешь?

b = list(s)

Эксперт Python

7279 / 4102 / 1794
Регистрация: 27.03.2020
Сообщений: 6,926
Welemir1,
Status 418

Эксперт Python

4359 / 2257 / 589
Регистрация: 26.11.2017
Сообщений: 5,187
Записей в блоге: 3
Регистрация: 24.08.2021
Сообщений: 2
Спасибо за быстрый ответ!
@ Garry Galler

ЦитатаСообщение от 80phone Посмотреть сообщение

Буду очень благодарен, если подскажете, как вставлять пробелы в исходную строку
А на вопрос ТС так никто и не ответил . 🙂
80phone,
Сага о XYZ.

Меню пользователя @ Garry Galler
Читать блог

3540 / 2144 / 566
Регистрация: 02.09.2015
Сообщений: 5,435

Лучший ответ

Сообщение было отмечено 80phone как решение

Решение

ЦитатаСообщение от Garry Galler Посмотреть сообщение

А на вопрос ТС так никто и не ответил . 🙂
Строки же иммутабельны?

Добавлено через 2 минуты

ЦитатаСообщение от 80phone Посмотреть сообщение

как вставлять пробелы в исходную строку

1 2 3
s = "234567" t = " ".join(s) assert t == "2 3 4 5 6 7"

Автоматизируй это!

Эксперт Python

7054 / 4559 / 1207
Регистрация: 30.03.2015
Сообщений: 13,132
Записей в блоге: 29

ЦитатаСообщение от Arsegg Посмотреть сообщение

s = «234567»
t = » «.join(s)
assert t == «2 3 4 5 6 7»
ну хоть кто-то по делу написал))
Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

16120 / 9755 / 2731
Регистрация: 21.10.2017
Сообщений: 21,624

1 2 3 4
import re s = '123456' print(re.sub(r'(?<=.)(?=.)', ' ', s))

99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708

ЦитатаСообщение от 80phone Посмотреть сообщение

Буду очень благодарен, если подскажете, как вставлять пробелы в исходную строку

print(*list('123456'))

3540 / 2144 / 566
Регистрация: 02.09.2015
Сообщений: 5,435

ЦитатаСообщение от AlexMarkov Посмотреть сообщение

print(*list(‘123456’))
Тогда уже: print(*»123456″) .
Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

16120 / 9755 / 2731
Регистрация: 21.10.2017
Сообщений: 21,624

ЦитатаСообщение от AlexMarkov Посмотреть сообщение

print(*list(‘123456’))
И где тут вставка пробелов?
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708

ЦитатаСообщение от iSmokeJC Посмотреть сообщение

И где тут вставка пробелов?

В стандартном потоке вывода, надо знать о такой возможности, вот и все.
Не «вумничайте» пожалуйста, если хотите что то сказать чего я не знаю, так и скажите.

ЦитатаСообщение от Arsegg Посмотреть сообщение

print(*»123456″)
Что здесь, есть пробелы?
Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

16120 / 9755 / 2731
Регистрация: 21.10.2017
Сообщений: 21,624

ЦитатаСообщение от AlexMarkov Посмотреть сообщение

Что здесь, есть пробелы?
Не надо стрелки переводить, Arsegg лишь доработал твой код.

ЦитатаСообщение от AlexMarkov Посмотреть сообщение

Не «вумничайте» пожалуйста

И в мыслях не было. Задача стоит — вставить в строку пробелы. Твой код эту задачу не выполняет. Именно это я и сказал.

99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708

ЦитатаСообщение от iSmokeJC Посмотреть сообщение

Твой код эту задачу не выполняет
Да как же не выполняет, а почему
Вывод тогда:
1 2 3 4 5 6
Там что не пробелы?
Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

16120 / 9755 / 2731
Регистрация: 21.10.2017
Сообщений: 21,624

AlexMarkov, ну присвой это переменной. И разбей сплитом потом.

Добавлено через 3 минуты
Вывести в консоль с пробелами и вставить в строку пробелы — несколько разные вещи.

99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708

iSmokeJC, ну это я прекрасно понимаю, поэтому и не отвечал на этот вопрос, а просто сказал о возможности использования оператора *

Добавлено через 6 минут

" ".join(list('12345')).split()

Добавлено через 57 секунд

ЦитатаСообщение от 80phone Посмотреть сообщение

Как из строки-числа сделать список чисел
Тема звучала так.
Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

16120 / 9755 / 2731
Регистрация: 21.10.2017
Сообщений: 21,624

ЦитатаСообщение от AlexMarkov Посмотреть сообщение

Тема звучала так.
А собственно вопрос звучал так

ЦитатаСообщение от 80phone Посмотреть сообщение

Буду очень благодарен, если подскажете, как вставлять пробелы в исходную строку
Добавлено через 2 минуты

Ладно, хватит оффтопить. ТС получил ответ на свой вопрос.

3540 / 2144 / 566
Регистрация: 02.09.2015
Сообщений: 5,435
iSmokeJC,

1 2 3 4 5 6 7
from io import StringIO sio = StringIO() print(*"234567", file=sio) result = sio.getvalue() print(result)

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

HTML список без перехода строки или как сделать кружочек?
Как в HTML сделать чтобы следующий элемент списка был без перехода на новую строку или каким.

Как в питоне сделать список, в котором все элементы — однозначные числа типа int
Нужен сам код команды, которая сделает список, в котором все элементы — однозначные числа типа.

Построить список чисел. 4 числа из списка начиная с i-го номера поместить в новый список
Построить список чисел. 4 числа из списка начиная с i-го номера поместить в новый список. Вывести.

Необходимо сделать так, чтобы последовательность # воспринималась Лиспом как список симметричных чисел
Необходимо сделать так, чтобы последовательность # воспринималась Лиспом как список.

Преобразовать список чисел в список строк. Python

Для преобразования списка чисел в список строк на языке Python можно использовать функцию map() с методом str():

numbers = [1, 2, 3, 4, 5]
strings = list(map(str, numbers))

# Вывод результата:
print(strings) # [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

Переписать другими словами
Написать сочинение по запросу
Или попробуйте другие режимы нейросети.

Преобразование чисел в строки в Python может быть сложной задачей для тех, кто не имеет достаточного опыта программирования. Но благодаря нашей нейросети онлайн, это стало проще, чем кажется. Наша нейросеть пишет текст автоматически и быстро. Просто введите список чисел в нашу нейросеть и она преобразует его в список строк. Это удобно и экономит время. Наша нейросеть обработает ваши данные точно и быстро, и все это без необходимости быть профессиональным программистом. Если вам нужно преобразовать список чисел в строки, попробуйте нашу нейросеть онлайн и убедитесь в ее эффективности.

Создать текст по запросам:
Похожие запросы
Перевести введенное число из десятичной системы счисления в двоичную. Python

«` # Задаем число в десятичной системе счисления number = 123 # Инициализируем список для хранения двоичного .

Посчитать сумму цифр введенного числа. Python

Ниже приведен код, который на Python считает сумму цифр введенного числа: «`python num = input(«Введите число: «) sum .

Проверить, является ли введенное слово изограммой. Python

«` # Функция для проверки, является ли слово изограммой def is_isogram(word): # Преобразование слова в нижний .

Проверить, является ли введенное число двоичным. Python
def is_binary(num): binary = ’01’ for digit in num: if digit not in binary: return False .
Отсортировать список чисел в порядке возрастания. Python

Для сортировки списка чисел в порядке возрастания в Python можно использовать встроенную функцию sorted(). Вот пример .

Найти медиану списка чисел. Python

Для нахождения медианы списка чисел можно использовать встроенную функцию sorted() для сортировки списка и простое .

Развернуть порядок элементов в списке. Python

Для развертывания порядка элементов в списке на языке Python можно использовать метод reverse(). Он переворачивает .

Заменить все отрицательные числа в списке на ноль. Python

«`python # Создаем список чисел numbers = [2, -5, 0, 17, -8, 25, -12] # Проходим по каждому элементу списка for i in .

Найти наибольший общий делитель двух чисел. Python

«`python # Функция для нахождения наибольшего общего делителя def find_gcd(a, b): # Если одно из чисел равно 0, то .

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

«` # Заданный список кортежей list_of_tuples = [(1, ‘a’), (2, ‘b’), (3, ‘c’)] # Создание пустого словаря result_dict .

Инвертировать порядок слов в предложении. Python

«` # Создаем функцию, которая принимает на вход предложение в виде строки def invert_sentence(sentence): # .

Посчитать количество элементов в списке, которые равны заданному значению. Java

«` // Решение задачи по поиску количества элементов в списке, равных заданному значению // Язык программирования: .

Liftweb

  • Контакты
  • Блог
  • Оферта
  • Карта сайта
  • Обработка данных
  • Написать стихи
  • Написать рэп
  • Написать письмо
  • Написать рассказ
  • Написать историю
  • Написать реферат
  • Написать доклад
  • Написать вывод
  • Сократить текст
  • Сделать конспект
  • Добавить воды
  • Убрать воду
  • Генератор вопросов
  • Генератор ников
  • Генератор шуток
  • Составить резюме
  • Решить тест
  • Составить SQL запрос
  • Chat GPT на русском
  • Нейросеть чат-бот Chat GPT
  • Нейросеть пишет текст
  • Пост / статья нейросетью
  • Повысить уникальность текста
  • Ответить на вопрос нейросетью
  • Переписать текст подробнее
  • Нейросеть пишет отзывы
  • Нейросеть пишет код
  • Текст по описанию
  • Написать заголовок
  • Написать сочинение
  • Решить задачу
  • Генератор title
  • Генератор description
  • Написать текст песни
  • Написать текст на английском
  • Создать тестовую работу
  • Написать фанфик
  • Написать контент-план
  • Написать SEO текст
  • Написать карточку товара
  • Основная мысль текста
  • Написать объявление
  • Генератор слоганов
  • Генератор поздравлений
  • Генератор названий
  • Генератор идей
  • Список литературы
  • Генератор отмазок
  • Генератор фото людей
  • Проверить битые ссылки
  • Массовый анализ страниц
  • Возраст сайта
  • Проверка whois
  • Код ответа сервера
  • Проверить сайт на дубли
  • Проверить сайт на вирусы
  • Продвижение сайтов
  • Продвижение в Москве
  • Ручной аудит сайтов
  • SEO калькулятор
  • Создание сайтов
  • Тарифы
  • Проверить переходные слова в тексте
  • Проверить переспам текста
  • Семантическое ядро текста
  • Проверка текста на воду
  • SEO транслит текста
  • Копировать текст страницы
  • Посчитать количество символов
  • Анализ страницы сайта
  • Анализ контента сайта
  • Аудит сайта онлайн

Python: Как преобразовать строку со смешанными диапазонами чисел в список

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

Пусть имеется исходная строка

src = ‘1, 3-5, 8’

Разобьем строку по разделителю — запятым:

linearr = [ s . strip ( ) for s in re . split ( r ‘[,;]+| ,’ , src ) if s ]

Разделим получившийся список на два списка. В первый список поместим только отдельные значения. Во второй — значения преобразованные из диапазонов чисел.

linearrframes = [ int ( i ) for i in linearr if ‘-‘ not in i ]

linearrdiapasones = sum ( [ list ( range ( int ( i . split ( ‘-‘ ) [ 0 ] ) , int ( i . split ( ‘-‘ ) [ 1 ] ) + 1 ) ) for i in linearr if ‘-‘ in i ] , [ ] )

Объединим полученные списки в один и выкинем повторяющиеся значения.

linearrframes . extend ( linearrdiapasones )
print ( list ( set ( linearrframes ) ) )

Полный код преобразования:

src = ‘1, 3-5, 8’
print ( src )
linearr = [ s . strip ( ) for s in re . split ( r ‘[,;]+| ,’ , src ) if s ]
linearrframes = [ int ( i ) for i in linearr if ‘-‘ not in i ]

linearrdiapasones = sum ( [ list ( range ( int ( i . split ( ‘-‘ ) [ 0 ] ) , int ( i . split ( ‘-‘ ) [ 1 ] ) + 1 ) ) for i in linearr if ‘-‘ in i ] , [ ] )

linearrframes . extend ( linearrdiapasones )
print ( list ( set ( linearrframes ) ) )
0 0 голоса
Article Rating
Подписаться
Соединить с D
Я разрешаю создать мне учетную запись

Когда вы первый раз заходите с помощью соцсетей, мы получаем публичную информацию из вашей учетной записи, предоставляемой провайдером услуги соцсети в рамках ваших настроек конфиденциальности. Мы также автоматически получаем ваш e-mail адрес для создания вашей учетной записи на нашем веб сайте. Когда она будет создана, вы будете авторизованы под этой учетной записью.

Не согласен Согласен
Я разрешаю создать мне учетную запись

Когда вы первый раз заходите с помощью соцсетей, мы получаем публичную информацию из вашей учетной записи, предоставляемой провайдером услуги соцсети в рамках ваших настроек конфиденциальности. Мы также автоматически получаем ваш e-mail адрес для создания вашей учетной записи на нашем веб сайте. Когда она будет создана, вы будете авторизованы под этой учетной записью.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *