Одна вещь: я довольно сейчас в мире кодирования, поэтому, возможно, мой вопрос немного глуп ... Я пытался написать функцию, которая возвращает каждый другой элемент кортежа. Самый простой способ, очевидно,разница между диапазоном/len и т. Д. При итерации по кортежам
def oddTuples(aTup):
return aTup[::2]
Я пытался решить эту проблему по-другому, используя следующий код
def oddTuples(aTup):
newTup =()
for i in len(aTup):
if i%2 != 0:
newTup = newTup + (i,)
return newTup
Но это не отдай мне ничего.
Я думал, что я (если используется более len
) возвращает позицию, поэтому, если aTup = ((12, 34, 'abc', 'dfdf', 2340))
возвращение будет newTup = ((12, 'abc', 2340))
.
Что i
Перебор при использовании range
, len
или -в этом прецедентного в то время как итерация for i in aTup:
?
'for i in len (aTup)' даст вам ошибку типа: 'TypeError: 'int' object is not itable' –
Возможно, вы использовали' for i in range (len (aTup)): ', который создал бы объект 'range()', который генерирует целые числа до len (aTup) '? Даже с этим исправлением вы должны возвращать * целые индексы *, а не значения из 'aTup'. –