简单的python字符串连接

时间:2019-05-10 08:21:58

标签: 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。有什么办法吗?

1 个答案:

答案 0 :(得分:1)

首先,切勿使用像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()