Да предположим, че имам подобен масив [4, 55, 578, 43, 81, 62, 7181]
Бих искал да извлечем първите 7 символа от този масив, без да вземем под внимание клетката 4555784
това е възможно без свързване на отделните елементи на масив? Благодаря.
Отговори:
4 за отговор № 1Можеш да направиш
"".join(map(str, arr))[:7]
ако arr
това е много дълго време, което губи време и пространство, защотопреобразува цялото нещо в низ просто за да вземе първите 7 символа. Вместо това, можете да конвертирате само първите 7 елемента (ако приемем, че всеки елемент има поне дължина), конвертирайте че към низ и след това вземете първите 7 символа.
"".join(map(str, arr[:7]))[:7]
2 за отговор № 2
Предполагам, че искате да избегнете свързването на целия масив. За да избегнете това, можете да направите нещо подобно:
a = [4, 55, 578, 43, 81, 62, 7181]
length = 7
chars = ""
counter = 0
while len(chars) < length:
chars = chars + str(a[counter])
counter = counter + 1
chars = chars[:length]
print chars, len(chars)
Това продължава да добавя повече знаци от записите в масива, докато дължината на знаците е по-голяма от избрания от вас номер. След това филтрира всички допълнителни знаци, добавени от крайния запис.
2 за отговор № 3
Можеш да използваш join
и разбиране на списъка
"".join(str(x) for x in lst)[:7]