Распечатать смешанный список без скобок в одной строке [дубликаты]

  • Общие предпочтения хороши для хранения ... предпочтений приложения и других небольших битов данных. Это просто очень простое хранилище строковых ключей для нескольких типов данных: boolean, float, int, long и string. Например, если у моего приложения был логин, я мог бы рассмотреть сохранение ключа сеанса как строки в SharedPreferences.
  • Внутреннее хранилище полезно для хранения данных приложения, к которым пользователю не нужен доступ, поскольку пользователь не может легко получить доступ к внутреннему хранилищу. Возможно, это хорошо для кэширования, журналов и других вещей. Все, что только приложение предназначено для создания обновления для чтения или удаления.
  • Внешнее хранилище. Отлично подходит для того, что я только что сказал. Приложение dropbox, вероятно, использует внешнее хранилище для хранения папки с Dropbox пользователя, так что пользователь имеет легкий доступ к этим файлам вне приложения dropbox, например, используя диспетчер файлов.
  • Базы данных SQLite великолепны, когда вы будут использовать множество структурированных данных и относительно жесткую схему для управления им. Полагая термины непрофессионала, SQLite похож на MySQL или PostgreSQL, но вместо базы данных, действующей как серверный демон, который затем берет запросы из сценариев CGI, таких как php, он просто хранится в файле .db и доступен и запрашивается через простую библиотеку в приложении. Хотя SQLite не может масштабироваться почти так же сильно, как выделенные базы данных, он очень быстр и удобен для небольших приложений, таких как приложения для Android. Я бы использовал SQLite db, если бы я создавал приложение для агрегирования и загрузки рецептов, поскольку такие данные относительно структурированы, и база данных позволит масштабировать его. Базы данных хороши, поскольку записывать все данные в файл, а затем разбирать их в собственном собственном формате, это не забавно. С другой стороны, хранение данных в XML или JSON не так уж плохо.
  • Сетевое соединение относится к хранению данных в облаке. Передача файлов HTTP и FTP и содержимого через пакеты java.net. * Делает это.
0
задан Mad Physicist 18 January 2019 в 04:34
поделиться

1 ответ

Используйте функцию, чтобы сначала сгладить список, а затем распечатать новый список.

def flatten(original, iterables=[list]):
    out = []
    for val in original:
        if type(val) not in iterables:
            out.append(val)
        else:
            out += flatten(val)
    return out


print(flatten(arr))

Здесь я явно указываю type(val) != list, чтобы он не пытался разделить ваши строки, но сгладил подсписки. Кроме того, этот метод будет обрабатывать вложенные списки любой глубины.

Результат:

>>> print(flatten(arr))
[0, 'txt', 4, 5, 3, 4, 2]

Вы также можете передать второй аргумент iterables, который представляет собой список, содержащий итерационные типы, которые вы хотите сгладить. Это может включать list, tuple или что-либо еще. Здесь я по умолчанию использую list, так как этого требует ваш пример.

0
ответ дан Dillon Davis 18 January 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: