С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/163: Рейтинг темы: голосов - 163, средняя оценка - 4.53
5 / 11 / 4
Регистрация: 02.04.2016
Сообщений: 351

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

11.01.2017, 15:06. Показов 30413. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть строка st нужно все её значения преобразовать в список целых чисел. Что-то не выходит.
Python
1
2
3
4
5
6
for i in a:
    if a.count(i) > 1:
        st += str(i) + ' '
print('stroka=' + st)
b = [int(item) for item in st]
print('chislo=' + b)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.01.2017, 15:06
Ответы с готовыми решениями:

Как заполнить список случайными целыми числами и вывести из него во второй список нечетные числа
Вообщем нужно создать 2 кнопки: 1)Заполняет список случайными целыми числами. 2)выводит во второй список нечетные числа из первого. ...

Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке
Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке.

Создать и заполнить список целыми числами
Помогите пожалуйста решить задачу!!! Создать и заполнить список целыми числами Вывести на экран номера всех чисел больших заданного...

10
55 / 55 / 16
Регистрация: 25.03.2013
Сообщений: 178
11.01.2017, 15:38
Возможно:
Python
1
b = [int(item) for item in st.split()]
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,295
11.01.2017, 19:49
Цитата Сообщение от Newibe Посмотреть сообщение
Есть строка st нужно все её значения преобразовать в список целых чисел
судя по вашему решению надо в список числа которые встречаются более одного раза. вопрос как выглядит входная строка? если набор цифр без пробела то так
Python
1
2
3
4
5
a = input()
cislo = [i for i in a if a.count(i) > 1]
st = [int(i) for i in cislo]
print('список цифр = ', st)
print('число',int(''.join(cislo)))
если с пробелами
Python
1
a = input().split()
0
5 / 11 / 4
Регистрация: 02.04.2016
Сообщений: 351
12.01.2017, 13:50  [ТС]
Semen-Semenich, Zarex, не работает.
Python
1
2
3
4
5
6
7
8
9
10
a = [int(i) for i in input().split()]
a.sort()
i = 0
st = ''
for i in a:
    if a.count(i) > 1:
        st += str(i) + ' '
print('stroka=' + st)
b = [int(item) for item in st.split()]
print('chislo=' + b)
строку выводит, а число нет
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,295
12.01.2017, 14:31
Цитата Сообщение от Newibe Посмотреть сообщение
строку выводит, а число нет
потому что b это не число а список.какое число нужно? пример можно что есть на входе и что должно получиться
0
5 / 11 / 4
Регистрация: 02.04.2016
Сообщений: 351
12.01.2017, 14:46  [ТС]
Semen-Semenich, нужно весь список вывести числом, а не строкой. то есть если в строке: 1 1 1 2 2 то так и нужно вывести, но чтобы это были целые числа а не строка
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.01.2017, 15:00
Newibe,
Определитесь что вы понимаете под списком: структуру данных python или некое абстрактное перечисление через пробел или запятую.
Если первое, и согласно вашим словам:
все её (строки) значения преобразовать в список целых чисел
, то так:
Python
1
2
3
print(list(map(int,'1 2 3 4 5'.split())))
# а так распаковать список
print(*list(map(int,'1 2 3 4 5'.split())))
Добавлено через 4 минуты
Цитата Сообщение от Newibe Посмотреть сообщение
нужно весь список вывести числом,
Очень туманная формулировка.
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,295
12.01.2017, 15:36
Цитата Сообщение от Newibe Посмотреть сообщение
1 1 1 2 2 то так и нужно вывести, но чтобы это были целые числа а не строка
так и объясните что вывести все ЧИСЛА списка в одну строку через пробел а не числом так как число подразумевает набор цифр без ПРОБЕЛОВ
Python
1
2
3
4
5
6
7
8
9
10
a = '22 33 44 44 55 55 66 '.split()
st = [i for i in a if a.count(i) > 1]
stroka = ' '.join(st)
print('stroka = ', stroka )
print(type(stroka))
list_int = list(map(int,st))
print('chisla = ', end = ' ')
for i in list_int :
    print(i, end = '-')
    print(type(i),end = ' ')
специально разложил по полочкам где видно строку и числа
Python
1
2
3
stroka =  44 44 55 55
<class 'str'>
chisla =  44-<class 'int'> 44-<class 'int'> 55-<class 'int'> 55-<class 'int'>
и вывод как тебе нужен
Python
1
2
3
print('chisla = ', end = ' ')
for i in list_int :
    print(i, end = ' ')
Python
1
chisla =  44 44 55 55
0
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
13.01.2017, 02:39
я тут недавно писал))

только в вашем случае немного по другому)
Python
1
2
3
4
5
6
7
8
9
10
11
import re
 
l=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 
 
def ha(source):
    pattern = r'[\(\)\[\]]'
    # return '[{}]'.format(re.sub(pattern, '', str(source)))
    return re.sub(pattern, '', str(source))
 
print(ha(l))
если и запятые нужно убрать то паттерн должен быть таким pattern = r'[\(\)\[\]\,]'

Не по теме:

а то извращенец, извращенец.... вон какая универсальная штукенция получилась, гибкость пайтона во всей красе! :D

0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
13.01.2017, 12:23
Wi0M,

1) А разве в условии написано, что список будет обязательно задан литералом списка?
2) Вы действительно не понимаете, что написали целых три строки плохого (не pythonway) кода вместо того, чтобы написать так:
Python
1
2
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(*l,sep=', ')
Цитата Сообщение от Wi0M Посмотреть сообщение
если и запятые нужно убрать то паттерн должен быть таким pattern = r'[\(\)\[\]\,]'
Python
1
print(*l)
0
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
13.01.2017, 17:05

Не по теме:

Garry Galler, так то я пошутил) если не понятно было) хотя я замечу, а что если вы захотите использовать преобразованный список? не подумали?)) и еще, если нужно убрать другие литералы, добавте в паттерн в чем проблема то?))



Добавлено через 37 минут
блин)) не могу не ответить
Python
1
2
3
4
5
6
7
8
9
import re
 
 
def get_nubbers_only(input_str, sep=' '):
    pattern = r'\d+'
    result = re.findall(pattern, str(input_str))
    return sep.join(result)
 
print(get_nubbers_only('1kjhk23lkjk[24]'))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2017, 17:05
Помогаю со студенческими работами здесь

Задан список целыми положительными числами
Задан список целыми положительными числами, которые лежат в диапазоне от 0 до 50 включительно. Написать программу формирования двух...

Однонаправленный список. Переделать работу с целыми числами в работу с действительными числами
Здравствуйте. Есть программа, которая при выполнении выводит на экран заданный список в обратном порядке. Программа работает, но только с...

Список из 10 элементов заполняется целыми числами. Указывается диапазон от x до y
Список из 10 элементов заполняется целыми числами. Указывается диапазон от x до y(не включая), в нём необходимо найти максимальный по...

Создать односвязный список с целыми числами и вывести их на экран
Помогите пожалуйста Создать односвязный список с целыми числами и вывести их на экран

Дан список, элементы которого являются целыми числами.
Дан список, элементы которого являются целыми числами. Имеются ли в списке 2 группы равных элементов?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru