Как изменить класс элементов в списке?

У меня есть строка для ввода с элементами, разделенными запятыми. - marks = 'marks1,marks2,marks3' Используя функцию разделения, я получил список оценок. - marks = marks.split(',')

Это дает нам «пометку» списка с элементами как srting, однако я хочу, чтобы в качестве элементов были целые числа. marks[int]

Есть ли у нас встроенная функция для ее преобразования или нам нужно использовать следующий цикл for?

for i, m in enumerate(marks):
    marks[i] = int(m)

Приведенный выше цикл работает, но я просто хочу знать, есть ли у нас встроенная функция.

Каким целым числом должно стать, например, marks1?

Scott Hunter 18.07.2024 14:16
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
64
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Используйте понимание списка.

>>> marks = marks.split(',')
>>> [(int)(e.split('marks')[1]) for e in marks.split(',')]
[1, 2, 3]
>>> 
Ответ принят как подходящий

Если ваша строка равна 'marks1,marks2,marks3', вы не можете преобразовать ее напрямую в целые числа путем приведения, поскольку она содержит нечисловые символы.

Но если вы использовали его для объяснения своей проблемы, а строка на самом деле похожа на '31,78,45', вы можете преобразовать ее в список целых чисел с пониманием списка:

marks = [int(m) for m in marks]
marks = '31,78,45'
marks = marks.split(',')
marks = [int(m) for m in marks]

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

>>> import re
>>> marks = 'marks1,marks2,marks3,marks4,marks5,marks10,marks4093'
>>> list(map(int, re.findall(r'(\d+)', marks)))
[1, 2, 3, 4, 5, 10, 4093]

Это также поможет вам отслеживать, есть ли у вас разные маркеры и вас интересует только определенное ключевое слово перед целым числом.

>>> marks = 'marks1,narks2,carks3,marks4,Sarks5,marks10,tarks4093'
>>> list(map(int, re.findall(r'marks(\d+)', marks)))
[1, 4, 10]

Убедитесь, что интересующие вас элементы заключены в скобки (...). В данном случае это числовые значения. В противном случае преобразование int завершится неудачей.

Другие вопросы по теме

Похожие вопросы

Сгенерируйте n случайных 2D-точек в допустимом регионе
Найдите, встречается ли какое-либо число в отсортированном массиве более n/4 раз
Компромисс между качеством и размером файла: как сохранить очень детальное изображение в файл разумного размера (<1 МБ)?
Сгенерировать ограниченный путь, используя полином кубической или пятой степени
Способ конвертировать латексный файл в PDF только с помощью Python? (без необходимости что-либо устанавливать локально)
Индексация Numba по типу записи (структурированный массив в numpy)
Почему добавление массива float32 и скаляра float64 является массивом float32 в Numpy?
При использовании Google Colab «наборы данных» пакета Python просто исчезли из каталога «сайт-пакеты» виртуального окружения
Противоречивая ошибка при использовании Polars read_csv() с несколькими файлами для csv.gz
FastAPI: как обрабатывать события щелчков графика Plotly в веб-приложении?