Я хочу проверить Unicode в DICT Python - PullRequest
0 голосов
/ 11 февраля 2019

Я попытался попробовать блок cat, чтобы проверить словарь в словаре, а список в словаре имеет Unicode или нет.

def convert(input):
 if isinstance(input, dict):
     for key, value in input.iteritems():
        temp = {convert(key):convert(value)}
        return temp
 elif isinstance(input, list):
     for element in input:
         temp1 = [convert(element)]
        return temp1
 elif isinstance(input, unicode):
    return input.encode('utf-8')
 else:
    #return input
    print input

Я хочу получить результат от этой функции, если есть Unicode, элемент в словаре или элемент кодируется с помощьюutf8.Но я получил ошибку, как это:

$python main.py
  File "main.py", line 21
    return temp1
               ^
IndentationError: unindent does not match any outer indentation level

1 Ответ

0 голосов
/ 11 февраля 2019

Отступы похожи на фигурные скобки, если вы знакомы с ними всякий раз, когда вы объявляете блок, такой как if else for loops class определением или function определением, он ожидает найти уровень отступа, который является пробелом или табуляцией того же уровня отступаобрабатывать его как один блок. Если вы хотите вложенный блок, вы делаете это следующим образом:

 def myfunction(arg): #one block
     for x in range(0,arg): #indents at starting
         if x==1:#another block
            print('one')#more indents for nesting

, поэтому в вашем коде

def convert(input):
 if isinstance(input, dict):
     for key, value in input.iteritems():
        temp = {convert(key):convert(value)}
        return temp
 elif isinstance(input, list):
     for element in input:
         temp1 = [convert(element)]
        return temp1 #here it expects to be in same indent level temp1 = [convert(element)] is at
 elif isinstance(input, unicode):
     return input.encode('utf-8')
 else:
     #return input
     print input

, который фиксируется в ответе, заданном @ Andronicus

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...