Есть ли способ, чтобы объявить массив символов фиксированного размера в питоне, как и в C, например
char myArray[100]
Я также хочу initializa всех символов с NULL.Python голец объявление массива
0
A
ответ
2
Вы не можете имеют фиксированный размер. (Python не работает так). Но вы можете легко инициализировать строку до 100 символов:
myArray = "\0" * 100
1
Вы можете использовать array (массив в питоне закрепила сигнатуру типа, но не фиксированный размер):
>>> import array
myArray = array.array('c', ['\0' for _ in xrange(100)])
>>> myArray
array('c', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
>>> myArray[45]
'\x00'
Обрати внимание, что я инициализировать значение по умолчанию для «\ 0» Кауса в питоне необходимо инициализировать его с значение и массив не имеют фиксированного размера (это динамический), но это будет сделано.
Другой вариант заключается в инициализации массива и appende значения позже, поэтому вместо того, чтобы полный NULL (None в питоне) это будет просто пустым и расти по вашему желанию:
>>> a = array.array('c',)
>>> a
array('c')
>>> a.append('c')
>>> a
array('c', 'c')
0
Другой способ заключается в использовании numpy.chararray:
import numpy as np
myArray=np.chararray(100)
myArray[:]=0 #NULL is just a zero value
Результаты:
>>> myArray
chararray([b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0',
b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0',
b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0',
b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0',
b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0',
b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0',
b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0',
b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0',
b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0',
b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0', b'0'],
dtype='|S1')
Смежные вопросы
- 1. Python кодирования голец
- 2. Python Regex голец класс
- 3. голец проблема массива в C
- 4. Понимание голец поведение инициализации массива
- 5. указателей * голец и & голец
- 6. Объявление массива
- 7. Объявление массива
- 8. Объявление массива различных слов
- 9. голец член массива в C-классе ++
- 10. Python соответствует регулярному выражению спасся голец
- 11. Объявление массива в C
- 12. Объявление размера массива
- 13. Объявление переменных массива
- 14. Объявление массива PHP
- 15. Объявление массива объектов
- 16. Объявление массива внутри функции
- 17. Объявление длины массива
- 18. Объявление массива перечисляемых типов
- 19. Объявление массива объектов
- 20. Объявление статического массива C++
- 21. perl - объявление условного массива
- 22. Объявление массива в Fortran
- 23. Объявление длины массива, JAVA
- 24. Объявление необязательного аргумента массива
- 25. Объявление Storage_Error для массива
- 26. Сократить объявление массива VB.NET?
- 27. C Объявление массива char *
- 28. C# объявление массива
- 29. Объявление двумерного массива - Уточнение
- 30. Объявление инициализации java-массива
Может эта нить помогает: HTTP: // stackoverflow.com/questions/6142689/initialising-an-array-of-fixed-size-in-python –
Или вы можете проверить этот [один] (http://stackoverflow.com/questions/6376886/what-is-the -быть st-way-to-create-a-string-array-in-python) – MaTh
Какое преимущество вы ожидаете? – monkut