1
 class Song:
     def __init__(self, title, artist):
        self.title = title
        self.artist = artist


    def how_many(self, listener):
        print(listener) 
    


obj_1 = Song("Mount Moose", "The Snazzy Moose")
obj_1.how_many(['John', 'Fred', 'Bob', 'Carl', 'RyAn'])
obj_1.how_many(['Luke', 'AmAndA', 'JoHn']) here
 

#监听器内部包含2个列表,我所做的任何事情都会产生两个列表,有没有办法在不更改同时调用how_many方法的对象的情况下将监听器内部的列表分开。谢谢!!!提前

4

1 回答 1

1
  • 我不确定JoHn第二波中的输入是错字还是您需要将所有输入大写。我认为您需要将其大写。
  • 您可以使用set来处理删除多个输入中的重复项。

示例代码:

class Song:
    def __init__(self, title, artist):
        self.title = title
        self.artist = artist
        self.linstener = set()

    def how_many(self, listener):
        listener = [ele.capitalize() for ele in listener]
        print(len((self.linstener | set(listener)) ^ self.linstener))
        self.linstener.update(listener)
        # print(listener) 

obj_1 = Song("Mount Moose", "The Snazzy Moose")
obj_1.how_many(['John', 'Fred', 'Bob', 'Carl', 'RyAn'])
obj_1.how_many(['Luke', 'AmAndA', 'JoHn'])

结果:

5
2
于 2021-11-15T03:47:50.400 回答