for i,c in enumerate(array): if c[i] > c[i+1]:
TypeError: ‘int’ object has no attribute ‘__getitem__’
for i,c in enumerate(array): if c[i] > c[i+1]:
>>> s = 'python' >>> s.__getitem__(0) 'p' >>> s[0] 'p' >>> n = 1025 >>> n.__getitem__(3) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'int' object has no attribute '__getitem__'
>>> for i, c in enumerate([10, 20, 30, 40, 50]): ... i, type(c) ... (0, <type 'int'>) (1, <type 'int'>) (2, <type 'int'>) (3, <type 'int'>) (4, <type 'int'>)
>>> array = [1,5,3,8,9,0,4,3] >>> for i in range(len(array)): ... try: ... array[i] > array[i+1] ... except IndexError: ... pass
CryoПроще без try:
Можно было написать так:
for i in range(len(array) - 1): ...
enumerate
johniek_compВ c у тебя будет не array, а его элемент. Надо так:
Не понимаю в чем ошибка:for i,c in enumerate(array): if c[i] > c[i+1]:
TypeError: ‘int’ object has no attribute ‘__getitem__’
for i,c in enumerate(array): if array[i] > array[i+1]:
prev = array[0] for i in array: if prev > i: #... prev = i
Cryo
Нужно понимать, что твоя переменная с - это на каждой итерации каждый последующий элемент в массиве array, но не сам array
asilyator
В c у тебя будет не array, а его элемент
>>> array = [1,2,3] >>> for i,c in enumerate(array): ... if array[i] > array[i+1]: ... pass ... Traceback (most recent call last): File "<input>", line 2, in <module> IndexError: list index out of range
prev = array[0] for i in array: if prev > i: #... prev = i
fata1exНаписал быстрее, чем прочитал тред, что дальше?
asilyator, зачем повторять то, что уже было сказано выше?
fata1exЭт почему?
А глядя на это, сразу хочется посоветовать почитать базовую литературу по программированию. Так не пишут.
asilyatorэлемент сравнивается с самим собой
Эт почему?
>>> array = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5] >>> for i in range(1, len(array)): ... print(array[i - 1] > array[i]) ... False False False False True False False False False >>>
a = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5,7] for p, n in zip(a[:-1], a[1:]): ... print p>n False False False False True False False False False False