Python 为什么我的列表0中的所有索引都是0?
我想要一个有卡片组和卡片的抽认卡软件。我创建了一个所有甲板的通用列表。我为甲板创建了一个类:Python 为什么我的列表0中的所有索引都是0?,python,list,indexing,Python,List,Indexing,我想要一个有卡片组和卡片的抽认卡软件。我创建了一个所有甲板的通用列表。我为甲板创建了一个类: class deck(list): def __init__(self, name): self.name = name def open_deck(self): print "This is your deck %s: " %(self.name) print "This deck has %s cards."
class deck(list):
def __init__(self, name):
self.name = name
def open_deck(self):
print "This is your deck %s: " %(self.name)
print "This deck has %s cards." %(len(self))
return self
然后使用用户输入的名称创建组,并将其附加到所有组中。这是打印它们的功能:
def print_decks():
print "You have %s decks: " %(len(all_decks))
for x in all_decks:
print all_decks.index(x), x.name
这会打印所有组的列表,但所有索引都显示为0。为什么?我还以为我会为“open-deck”和“delete-deck”函数使用索引,但它不起作用 您误解了
index()
的功能。它返回列表中与目标匹配的第一个元素的索引。但你从未定义过一种比较甲板的方法
你不想在这里使用索引。相反,使用枚举
保持计数:
for i, x in enumerate(all_decks):
print i, x.name
您误解了
index()
的作用。它返回列表中与目标匹配的第一个元素的索引。但你从未定义过一种比较甲板的方法
你不想在这里使用索引。相反,使用枚举
保持计数:
for i, x in enumerate(all_decks):
print i, x.name
您从未显示过在哪里创建
所有组
。您从未显示过在哪里创建所有组
。