Ну, простыми словами:
Вы пытаетесь получить доступ к объекту, который не создан или в настоящее время не находится в памяти.
Итак, как это решить:
if (i == null) {
// Handle this
}
Поиск по имени означает, что некоторые фреймворки позволяют использовать FIndObjects с помощью строк, а код может выглядеть так: FindObject («ObjectName»);
i = ['title', 'email', 'password2', 'password1', 'first_name',
'last_name', 'next', 'newsletter']
a, b = i.index('password2'), i.index('password1')
i[b], i[a] = i[a], i[b]
for i in range(len(arr)):
if l[-1] > l[i]:
l[-1], l[i] = l[i], l[-1]
break
в результате этого, если последний элемент больше, чем элемент в позиции i
, тогда оба они меняются местами.
Учитывая ваши спецификации, я бы использовал назначение slice:
>>> L = ['title', 'email', 'password2', 'password1', 'first_name', 'last_name', 'next', 'newsletter']
>>> i = L.index('password2')
>>> L[i:i+2] = L[i+1:i-1:-1]
>>> L
['title', 'email', 'password1', 'password2', 'first_name', 'last_name', 'next', 'newsletter']
Правая часть назначения среза представляет собой «обратный срез» и также может быть написана:
L[i:i+2] = reversed(L[i:i+2])
, если вы обнаружите, что это более читаемо, как многие из них.
Ого!
x = i[2]; i[2] = i[3]; i[3] = x
Простой лучше, чем сложный
Примечание: Если вы не знаете позицию:
index = list.index("password1") # = 3 in the given list
Простая замена Python выглядит так:
foo[i], foo[j] = foo[j], foo[i]
Теперь вам нужно всего лишь указать, что i
есть, и это легко сделать с помощью index
:
i = foo.index("password2")
вы можете использовать, например:
>>> test_list = ['title', 'email', 'password2', 'password1', 'first_name',
'last_name', 'next', 'newsletter']
>>> reorder_func = lambda x: x.insert(x.index('password2'), x.pop(x.index('password2')+1))
>>> reorder_func(test_list)
>>> test_list
... ['title', 'email', 'password1', 'password2', 'first_name', 'last_name', 'next', 'newsletter']
Я не эксперт в python, но вы могли бы попробовать: say
i = (1,2)
res = lambda i: (i[1],i[0])
print 'res(1, 2) = {0}'.format(res(1, 2))
выше дал бы o / p as:
res(1, 2) = (2,1)
Как это может быть дольше, чем
tmp = my_list[indexOfPwd2]
my_list[indexOfPwd2] = my_list[indexOfPwd2 + 1]
my_list[indexOfPwd2 + 1] = tmp
Это простой обмен с использованием временного хранилища.
my_list[indexOfPwd2],my_list[indexOfPwd2+1] = my_list[indexOfPwd2+1],my_list[indexOfPwd2]
– Brent Writes Code
22 March 2010 в 17:32