Python - переформатирование списка кортежей, возвращенных из MySQL - PullRequest
1 голос
/ 27 января 2020

Я вытягиваю список таблиц из MySQL, и он возвращает данные в следующем формате:

[('A_one_day_minute',)
('A_one_month_daily',)
('A_one_year_daily',)
('A_one_year_weekly',)
('A_six_month_daily',)
('A_three_day_minute',)
('A_three_month_daily',)
('A_three_year_weekly',)
('A_two_day_minute',)
('A_two_month_daily',)
('A_two_year_daily',)
('A_two_year_weekly',)]

Однако, чтобы использовать эти данные в следующей части моего кода, которая go через каждая таблица и вставка данных в нее, мне нужно в следующем формате.

Обратите внимание, что даже последний кортеж в конце кода выше имеет запятую, которую необходимо удалить.

Желаемый формат:

('A_one_day_minute',
'A_one_month_daily',
'A_one_year_daily',
'A_one_year_weekly',
'A_six_month_daily',
'A_three_day_minute',
'A_three_month_daily',
'A_three_year_weekly',
'A_two_day_minute',
'A_two_month_daily',
'A_two_year_daily',
'A_two_year_weekly')

Я не уверен, как go сделать это, и любая помощь приветствуется, спасибо!

1 Ответ

1 голос
/ 27 января 2020

Вам подходит это решение?

x = [('A_one_day_minute',),
    ('A_one_month_daily',),
    ('A_one_year_daily',),
    ('A_one_year_weekly',),
    ('A_six_month_daily',),
    ('A_three_day_minute',),
    ('A_three_month_daily',),
    ('A_three_year_weekly',),
    ('A_two_day_minute',),
    ('A_two_month_daily',),
    ('A_two_year_daily',),
    ('A_two_year_weekly',)]

f = []
for i in x:
    for j in i:
        f.append(j)
print(tuple(f))

или

H = tuple(j for j in i for i in x)
print(H)

или

print(tuple(map(lambda v:v[0],x)))

Результат:

('A_two_year_weekly', 'A_two_year_weekly', 'A_two_year_weekly', 'A_two_year_weekly', 'A_two_year_weekly', 'A_two_year_weekly', 'A_two_year_weekly', 'A_two_year_weekly', 'A_two_year_weekly', 'A_two_year_weekly', 'A_two_year_weekly', 'A_two_year_weekly')
...