it-swarm.com.ru

Преобразовать массив целых чисел в строку в Python

Я хочу преобразовать мой список целых чисел в строку. Вот как я создаю список целых чисел:

new = [0] * 6
for i in range(6):
    new[i] = random.randint(0,10)

Как это:

новый == [1,2,3,4,5,6]

вывод == '123456'

8
Mira Mira

Есть определенно более приятный способ сделать это, но вот очень простой способ:

mystring = ""

for digit in new:
    mystring += str(digit)
7
jgritty

С конвертировать список символов в строку вы можете просто сделать

''.join(map(str,new))
23
tynn

Немного опоздал и несколько расширил вопрос, но вы могли бы использовать модуль array и использовать:

from array import array

array('B', new).tobytes()

b'\n\t\x05\x00\x06\x05'

На практике он создает массив целых чисел шириной 1 байт (аргумент 'B') из вашего списка целых чисел. Затем массив преобразуется в строку в виде структуры двоичных данных, поэтому выходные данные не будут выглядеть так, как вы ожидаете (вы можете исправить эту точку с помощью decode()). Тем не менее, это должен быть один из самых быстрых методов преобразования целых чисел в строку, и он должен сэкономить немного памяти. Смотрите также документацию и связанные вопросы:

https://www.python.org/doc/essays/list2str/

https://docs.python.org/3/library/array.html#module-array

Преобразование целого числа в строку в Python?

0
jloup

Вы можете перебирать целые числа в списке при преобразовании в строковый тип и добавлении в переменную «string».

for int in list:
    string += str(int)
0
Cherry