Предупреждение Python: ожидаемый тип «Union[Integral, срез]», вместо этого получено «str»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Предупреждение Python: ожидаемый тип «Union[Integral, срез]», вместо этого получено «str»

Сообщение Anonymous »

Мой код на Python ниже выдает предупреждение:

Код: Выделить всё

 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
Если я изменю функцию alert_test на это:

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»