Я бы использовал панды для этого. Сначала создайте фрейм данных из словаря.
import pandas as pd
import numpy as np
dict_test = {"k": {"k1": [['v1']],"k2": [['v2']],"k3": [['v3']]}}
df = pd.DataFrame.from_dict(dict_test)
Pandas умело превращает значения ключа в индекс, а фактические значения списка - как данные. Теперь вы можете установить подкадр данных, чтобы вытащить данные любым удобным для вас способом. Одно из предложений состоит в том, чтобы создать новый столбец из индекса следующим образом:
df['key_value'] = df.index
Теперь вы можете ссылаться на значения ключа, как и на любой другой столбец. Если у вас есть более сложный словарь, панды создадут столбец для каждой пары ключ / значение, что означает, что вам, возможно, придется преобразовать фрейм данных в более полезную форму.
Наконец, если вы затем хотите преобразовать в пустой массив где-то вдоль строки, так как каждый отдельный список является ячейкой во фрейме данных, вы должны использовать что-то вроде apply (при условии, что df теперь это просто один столбец списков)
df.apply(lambda x: np.array(x))
Для каждой строки в фрейме данных вы получите массив значений. Надеюсь, это поможет.