Вопрос:

Как избавиться от вложенных массивов из массива в базе данных?

python database sqlite

14 просмотра

1 ответ

42 Репутация автора

Напишите функцию с именем «one_column», которая не принимает никаких параметров и возвращает список. Существует база данных, сохраненная в файле с именем «example.db», содержащая таблицу с именем «понимание» с столбцами «несущая», «описать» и «синхронизировать» каждое сохранение целочисленных значений. Верните список, содержащий только «временное» значение каждой записи в таблице.

import sqlite3

conn = sqlite3.connect('example.db')
c = conn.cursor()
conn.commit()
def one_column():
    total = c.execute('SELECT timing FROM understanding')
    return list(total)

Мой код возвращается [[30], [63], [63], [7], [62], [79], [1], [54], [20], [45], [93], [ 45], [38], [30], [84], [64]]. Ожидается [30, 63, 63, 7, 62, 79, 1, 54, 20, 45, 93, 45, 38, 30, 84, 64]. Как мне избавиться от вложенных массивов?

Автор: Anonymous Источник Размещён: 24.11.2018 11:29

Ответы (1)


1 плюс

45158 Репутация автора

Если в ваших внутренних списках содержится только один элемент, существует очень простое понимание списка, которое блокирует список.

>>> lst = [[30], [63], [63], [7], [62], [79], [1], [54], [20], [45], [93], [45], [38], [30], [84], [64]]
>>> [x for x, in lst]
[30, 63, 63, 7, 62, 79, 1, 54, 20, 45, 93, 45, 38, 30, 84, 64]

Это распаковывает последовательности длиной один в lst.

Если ваши внутренние списки могут иметь более одного элемента, см. Этот вопрос .

Автор: timgeb Размещён: 24.11.2018 11:32
Вопросы из категории :
32x32