У меня есть sqlite запросы, которые выводят списки кортежей.Я сталкиваюсь с ситуацией, когда не понимаю, почему циклический просмотр списка одноэлементных кортежей дает другой результат по сравнению с циклическим просмотром списка многоэлементных кортежей.В качестве примера возьмем следующие списки:
list1 = [('value1',),('value2',)]
list2 = [('value1', 'value1'), ('value2', 'value2')]
Когда я повторяю первый запрос:
for item1 in list1:
print(item1)
Я получаю следующее:
('value1',)
('value2',)
Принимая во внимание, когдаЯ перебираю второй запрос:
for item1, item2 in list2:
print(item1, item2)
Я получаю следующее:
value1 value1
value2 value2
Так почему разница в выводе при циклическом просмотре списка одноэлементных кортежей и многоэлементныхкортежи?Есть ли другой способ построения цикла, чтобы мне не приходилось по-другому обрабатывать вывод?Прямо сейчас всякий раз, когда я перебираю список одноэлементных кортежей, мне нужно создать оператор print следующим образом:
for item1 in query1:
print(item1[0])
Я думаю, просто странно, что Python по-разному обрабатывает эти два метода.разбирает списки.Другими словами, почему он не выводит второй цикл следующим образом:
('value1', 'value1')
('value2', 'value2')