LINUX.ORG.RU

Ответ на: комментарий от nionio35

подходит list, но он может содержать разные типы внутри

Что ты в него положишь, то и будет содержать. Разные типы — значит, разные, один тип — значит, один. Можно свой конструктор написать, который будет проверять типы элементов перед созданием списка.

Не знаю точно, как в питоне, но обычно разные типы нельзя сравнивать и, соответственно, список с о значениями разных типов не получится отсортировать.

Посмотрел в жсе – можно отсортировать список строк и чисел. Похоже, если в списке есть строки, он все приводит к строке и сортирует в лексикографическом порядке.

Неплохой ведь в общем и целом язык, но едрить твою налево.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 4)
Ответ на: комментарий от Nervous

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

nionio35
() автор топика
Ответ на: комментарий от nionio35

Держи: [1, 2].

А если серьёзно, то «было бы неплохо» на техническое задание не тянет. Хочешь писать питонично? Просто складывай объекты разных типов в одну коллекцию. Скучаешь по проверке типов, которая будет бить тебя по рукам? Почитай, как сделать в питоне проверку типов.

t184256 ★★★★★
()
Ответ на: комментарий от nionio35

такой обьект, который упорядочено содержит данные одного типа

SO плохого не посоветует - https://stackoverflow.com/questions/1109804/does-python-have-a-sorted-list да, ещё по дороге и объяснит почему так, а не иначе.

vvn_black ★★★★★
()
Ответ на: комментарий от nionio35

Там ограничения есть. В array не все можно сложить. Но по условию сложно понять что именно ты хочешь внутри списка.

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

список только из: int, float, double. там по описанию(в array) оно есть. мне нужно чтобы: создать массив из int(например), и передать этот массив в функцию. функция реализована на си. это чтобы убрать проверку каждого элемента в массиве на соответствие определеному типу(int).

nionio35
() автор топика
Ответ на: комментарий от nionio35

Не проще тогда сразу c_int * n? Сходу сделает тебе ctypes array, его и передашь

Чтоб не быть голословным https://coderslegacy.com/python/ctypes-arrays/

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от Nervous

Не знаю точно, как в питоне, но обычно разные типы нельзя сравнивать и, соответственно, список с о значениями разных типов не получится отсортировать.

Еще в пайтон 2 можно было в метод списка sort передать свою функцию сортировки, ту же элементарную однострочную лямбда-функцию (если я еще не всё забыл). А в ней хоть какие объекты сравнивай по любым критериям. А гомогенных коллекций в чистом питоне нет по самой природе языка.

Virtuos86 ★★★★★
()