Python 为什么调用'str(someList)`有时会创建一个";数组";空间?
Python 为什么调用'str(someList)`有时会创建一个";数组";空间?,python,string,list,concatenation,Python,String,List,Concatenation,playerList包含两个Player对象(分别调用str属性,“a”和“b”),并且Player实现\uuuuuuu str\uuuuu。当我将str(playerList)连接到另一个字符串上时,我希望该字符串后面附加“[a,b]”形式的内容。相反,生成的字符串附加有“[,]”。我犯了什么错误导致了这个结果 这是我写的 prompt=”然后从“+str(玩家列表)”中选择你想要攻击的对手。 我在stdout上得到了什么: "And then choose the opponent you
playerList
包含两个Player
对象(分别调用str
属性,“a”
和“b”
),并且Player
实现\uuuuuuu str\uuuuu
。当我将str(playerList)
连接到另一个字符串上时,我希望该字符串后面附加“[a,b]”
形式的内容。相反,生成的字符串附加有“[,]”
。我犯了什么错误导致了这个结果
这是我写的
prompt=”然后从“+str(玩家列表)”中选择你想要攻击的对手。
我在stdout上得到了什么:
"And then choose the opponent you would like to attack from [, ]"
我想要的是:
"And then choose the opponent you would like to attack from [a,b]"
您的
\uuuu repr\uuuu
方法返回一个空字符串:
def __repr__(self):
return str()
>>> str()
''
str()
不带参数是空字符串:
def __repr__(self):
return str()
>>> str()
''
如果您想直接调用\uuu str\uuu
或将self
传递给str()
:
或
请注意,将列表转换为字符串将包括该列表中的所有字符串作为其表示形式;repr(stringobject)
的输出,它使用与创建此类字符串时相同的符号。列表['a',b']
将使用该符号转换为字符串:
>>> l = ['a', 'b']
>>> l
['a', 'b']
>>> str(l)
"['a', 'b']"
>>> print str(l)
['a', 'b']
如果您真的希望包含那些不带引号的字符串,则需要执行自己的格式设置:
>>> '[{}]'.format(', '.join([str(elem) for elem in l]))
'[a, b]'
>>> print '[{}]'.format(', '.join([str(elem) for elem in l]))
[a, b]
您的
\uuuu repr\uuuu
方法返回一个空字符串:
def __repr__(self):
return str()
>>> str()
''
str()
不带参数是空字符串:
def __repr__(self):
return str()
>>> str()
''
如果您想直接调用\uuu str\uuu
或将self
传递给str()
:
或
请注意,将列表转换为字符串将包括该列表中的所有字符串作为其表示形式;repr(stringobject)
的输出,它使用与创建此类字符串时相同的符号。列表['a',b']
将使用该符号转换为字符串:
>>> l = ['a', 'b']
>>> l
['a', 'b']
>>> str(l)
"['a', 'b']"
>>> print str(l)
['a', 'b']
如果您真的希望包含那些不带引号的字符串,则需要执行自己的格式设置:
>>> '[{}]'.format(', '.join([str(elem) for elem in l]))
'[a, b]'
>>> print '[{}]'.format(', '.join([str(elem) for elem in l]))
[a, b]
返回str()?不应该是自我。寻求调试帮助的问题(“为什么此代码不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:希望更新良好?返回str()?不应该是自我。寻求调试帮助的问题(“为什么此代码不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请看:希望更新是好的?也许你可以解释一下,当解释器显示一个列表时,它会显示列表中每个项目的repr,因此对于两元素列表,
[,]
。这就是我说的:)@Robᵩ: 是的,但是我的班车到达了我的车站,所以我不得不下车先走一会儿。:-)也许你可以解释一下,当解释器显示一个列表时,它会显示列表中每个项目的repr,因此对于两个元素的列表,[,]
。这就是我说的:)@Robᵩ: 是的,但是我的班车到达了我的车站,所以我不得不下车先走一会儿。:-)