[英]Simple python string concatenation
我有以下测试,
def test_strings_concatenation(self):
dict = ['a', 'b', 'c']
dict_as_string = " ".join(dict)
expected = 'a b c'
assert dict_as_string is expected
我想准确地得到dict
( 与 expected
相同 )。 有什么办法可以做到这一点?
首先,请勿使用像dict
这样的预定义常量作为变量名,就像@Amadan所指出的那样, ['a', 'b', 'c']
也是list
,而不是dictionary
(这是一个容器,持有键值对,例如{"a":"b"}
。
另外,您还需要检查==
因为您希望将列表连接到字符串,而不是is
,因为is
检查两个对象是否指向@TomaszBartkowiak指出的相同的内存位置,如下所示
In [21]: a = 1
In [22]: b = a
In [23]: a is b
Out[23]: True
In [24]: li = ['a', 'b', 'c']
In [25]: s = ' '.join(li)
In [26]: s is li
Out[26]: False
因此,代码将更改为
def test_strings_concatenation():
#Define list and concatenate it
li = ['a', 'b', 'c']
li_as_string = " ".join(li)
expected = 'a b c'
#Check for string equality
assert li_as_string == expected
test_strings_concatenation()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.