Python返回lis

2024-04-19 10:59:25 发布

您现在位置:Python中文网/ 问答频道 /正文

class alexicon(object):

def __init__(self):
    self.directions = ['north', 'south', 'west', 'east', 'up', 'down']
    self.items = []

def scan(self, words):
    self.word = words.split()
    # direction
    self.direction_word = [i for i in self.word if i in self.directions]
    self.direction_list = []
    for x in self.direction_word:
        self.direction_list.append(('direction', '%s' %(x)) )
    if self.direction_list != []:
        self.items.extend(self.direction_list)
    else:
        pass
   return self.items

lexicon = alexicon()
result = lexicon.scan('north')
print result

为什么打印结果为“无”?如何获取项目列表? 但如果我打印词典.items我可以得到正确的列表(列表中有元素)。你知道吗


Tags: inself列表forscanifdefitems
1条回答
网友
1楼 · 发布于 2024-04-19 10:59:25

您需要更改缩进:

class alexicon(object):

    def __init__(self):
        self.directions = ['north', 'south', 'west', 'east', 'up', 'down']
        self.items = []

    def scan(self, words):
        self.word = words.split()
# direction
        self.direction_word = [i for i in self.word if i in self.directions]
        self.direction_list = []
        for x in self.direction_word:
            self.direction_list.append(('direction', '%s' %(x)) )
        if self.direction_list != []:
            self.items.extend(self.direction_list)
        else:
            pass
        return(self.items)

lexicon = alexicon()
result = lexicon.scan('north')
print(result)

输出:

[('direction', 'north')]

相关问题 更多 >