[英]Why all are indexes in my list of lists 0?
我想要一個帶有卡片組和卡片的抽認卡軟件。 我創建了一個通用列表all_decks。 我為甲板創建了一個類:
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
然后使用用戶輸入的名稱創建平台,並將其附加到all_decks。 這是打印它們的功能:
def print_decks():
print "You have %s decks: " %(len(all_decks))
for x in all_decks:
print all_decks.index(x), x.name
這確實會打印所有卡片組的列表,但是所有索引看起來都是0。為什么? 我還以為我會為“開放式甲板”和“刪除甲板”功能使用索引,但是它不起作用。
您誤解了index()
作用。 它返回列表中與目標匹配的第一個元素的索引。 但是您從未定義過一種比較牌組的方法。
您真的不想在這里使用索引。 相反,請使用enumerate
:
for i, x in enumerate(all_decks):
print i, x.name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.