Мой код ниже в Python дает мне предупреждение на строке: < /p>
some_new_object['someVar'] = cd['someVar']
< /code>
Предупреждение - < /p>
Expected type 'Union[Integral, slice]', got 'str' instead
< /code>
code: < /p>
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
< /code>
Если я изменю функцию warn_test на это: < /p>
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'
< /code>
Это не дает мне никакого предупреждения. < /p>
Может ли кто -нибудь помочь мне понять, почему я получаю предупреждение, и как я могу получить доступ к CD ['somevar'] < /code> во второй итерации без предупреждения? система. (Никаких предупреждений не является одним из обязательных для этой системы)
Подробнее здесь: https://stackoverflow.com/questions/444 ... tr-instead
ПРЕДУПРЕЖДЕНИЕ ПИТОНА - Ожидаемый тип «Союз [интеграл, ломтик]», вместо этого получил «str» ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Предупреждение Python: ожидаемый тип «Union[Integral, срез]», вместо этого получено «str»
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-