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

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

11.01.2017, 15:06. Показов 30549. Ответов 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
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
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
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
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
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
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
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru