Size: a a a

2021 November 25

ВЩ

Взщз Щщщхш in Python
cdecl.org говорит, что:
struct PyObject *ob_item[1];
-> declare ob_item as array 1 of pointer to struct PyObject
struct PyObject **ob_item;
-> declare ob_item as pointer to pointer to struct PyObject
источник

T

Tishka17 in Python
вопрос,
1. а зачем?
2. на что это влияет?
источник

VR

Vladimir Ruzhelovich in Python
Спасибо большое! Самое простое решение самое верное!!!! 100% подошло.

https://pypi.org/project/dataframe-image/

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

ПП

Проксимов Прксимович... in Python
А что забавного?
источник

RV

Roman Voronov in Python
❤️❤️❤️
источник

A

Alex in Python
Ну так бы тебе пришлось отдельно аллоцировать память под структуру и отдельно под массив например.
источник

T

Tishka17 in Python
ну список так и делает
источник

nx

neumond x in Python
Что массив прилеплен прямо к структуре и может быть любого размера, хотя на си это ob_item[1].
источник

T

Tishka17 in Python
почему список не сделать как тупл?
источник

ПП

Проксимов Прксимович... in Python
Мы про одно и тоже говорим?
источник

nx

neumond x in Python
А мы о чём-то говорили?
источник

ВЩ

Взщз Щщщхш in Python
Если захочется увеличить, адрес начала списка может поменяться.
источник

ВЩ

Взщз Щщщхш in Python
И тогда все ссылки на него сломаются.
источник

T

Tishka17 in Python
а, разумно
источник

A

Alex in Python
действительно, реаллок тупла операция скорее исключение, поэтому зная что тупл у нас фиксированного размера можно сразу выделить линейный кусок памяти, чтобы не выделять два раза.
источник

nx

neumond x in Python
Ну и чтобы кэш получше задействовать, меньше проходов по указателям.
источник

A

Alex in Python
угу
источник

T

Tishka17 in Python
Спасибо, а то на собесе вопрос всплыл почему тупл быстрее списка
источник

ВЩ

Взщз Щщщхш in Python
ты собеседовал или тебя?)
источник

nx

neumond x in Python
>>> timeit.timeit('[i for i in range(100)]')
2.355941802961752
>>> timeit.timeit('tuple(i for i in range(100))')
3.68818017502781

Не всегда быстрее.
источник