Код: Выделить всё
some_new_object['someVar'] = cd['someVar']
Код: Выделить всё
Expected type 'Union[Integral, slice]', got 'str' instead
Код: Выделить всё
def some_object():
return {
'someId': 0,
'someVar' : ''
}
def warn_test(in_list):
try:
new_list = []
some_new_object = some_object()
for cd in in_list:
if cd['someVar']:
new_list.append(cd)
for cd in new_list:
some_new_object['someVar'] = cd['someVar']
in_list.append(some_new_object.copy())
return in_list
except Exception:
print 'baaa'
#Main Program
new_obj = some_object()
new_obj['someId'] = 1
new_obj['someVar'] = 'Next'
new_obj2 = some_object()
new_obj2['someId'] = 1
new_obj2['someVar'] = None
new_list = []
new_list.append(new_obj)
new_list.append(new_obj2)
out_list = warn_test(new_list)
for obj in out_list:
print obj
Код: Выделить всё
def warn_test(in_list):
try:
new_list = []
some_new_object = some_object()
for cd in in_list:
if cd['someVar']:
some_new_object['someVar'] = cd['someVar']
new_list.append(some_new_object.copy())
for cd in new_list:
in_list.append(cd)
return in_list
except Exception:
print 'baaa'
Может кто-нибудь помочь мне понять, почему я получаю предупреждение и как я могу получить доступ к cd['someVar'] во второй итерации, не получая предупреждение?
Я знаю, что этот код странный, он нужен мне для проекта, над которым я работаю, я сделал этот тест, чтобы поделиться здесь, но он выдает то же предупреждение поэтому решение для этой проблемы исправит это в моей системе. (Отсутствие предупреждений является одним из обязательных требований для этой системы)
Подробнее здесь: https://stackoverflow.com/questions/444 ... tr-instead