У меня есть список l1 =[1,56,67,79,90,47,08,56,79,84,76,79,68,]
Теперь я хочу напечатать только индексы 4,6,9,10, используя цикл
Я старался:
for i in l1:
Print(i[4]..)
Но там написано: int is not subscriptable
Возможный дубликат Как распечатать несколько непоследовательных значений из списка с помощью Python 3.5.1
Это была задача, братан






Я предполагаю, что это домашнее задание, и поэтому вы хотите использовать для этого циклы.
Когда вы говорите i in l1, каждый элемент i является int, поэтому индексировать его не получится.
Если вы пытаетесь специально напечатать элементы в индексах 4, 6, 9, 10, вам нужно поместить их в список и выполнить итерацию по ним. Итак, например:
l1 =[1,56,67,79,90,47,08,56,79,84,76,79,68,]
to_print = [4, 6, 9, 10] # So if you want to print other/more index positions then modify this. Note that you may want to do a length check too before using these indexes as is.
for i in to_print:
print(l1[i])
Ткз много получилось? мне помогло
Как это сделать я здесь новенький
О, слева от ответа под оценкой вы увидите галочку. Нажмите на него, чтобы отметить как принятое.
если вы просто хотите перебрать все элементы в списке по индексам, вы можете сделать что-то вроде этого:
l1 =[1,56,67,79,90,47,8,56,79,84,76,79,68]
for i in range(len(l1)):
if i in (4, 6, 9, 10):
print(l1[i])
как говорится, это не самая эффективная вещь
Да, это тоже работает, хотя мой единственный комментарий по этому подходу заключается в том, что лучше использовать именованный список, чем использовать кортеж для удобства обслуживания,
Зачем нужен цикл for?