【发布时间】:2014-09-09 23:01:51
【问题描述】:
在涉及类时,我在格式化和理解列表和字符串方面遇到问题。 所以我在这里有这段代码:
class User:
def __init__(self,title):
self.tile=tile
self.rank={}
def addCard(self,compID,number):
if compID in self.cards and number > self.cards[compID]:
self.cards[compID]=number
elif compID not in self.cards:
self.cards[compID]=number
def __str__(self):
self.cardList = []
for compID, number in self.cards.items():
final = compID + "-" + str(number)
self.cardList.append(temp)
self.cardList.sort()
return self.tile + ":" + " " + "Card scores:" + str(self.cardList)
所以我的结果如下所示:
OUTPUT 1:
Cpt.Fred: Card scores: ['diamond-22', 'hearts-4', 'spades-3']
Lt.Connor: Card scores: ['diamond-43']
我试图让我的结果看起来像这样:
OUTPUT 2:
Cpt.Fred: Card scores: [ diamond-22, hearts-4, spades-3 ]
Lt.Connor: Card scores: [ diamond-43 ]
数据并不重要,重要的是如何去掉结果开头和结尾的“'”。我认为这与我最后的 def() 语句有关,但我一直在尝试以各种方式格式化它,但没有运气。谁能帮忙把第一个输出变成第二个输出?
【问题讨论】:
-
我认为您将不得不进行一些手动列表解析才能使其按您想要的方式打印。我不知道如何从列表中的字符串中删除这些引号。
-
不重复:链接的问题要求列表的类型转换元素,这个是关于
strvsrepr -
@metaperture,它与强制转换无关,它是如何从 python 列表项中删除单引号
-
所有答案(包括接受的答案)都进行类型转换。页面上只有一行关于字符串连接。 “删除单引号”是问题的名称,但显然每个人都认为它的意思是“将 strs 转换为整数”。
标签: python string list class append