繁体   English   中英

简单的python字符串连接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM