Простая конкатенация строк Python - PullRequest
0 голосов
/ 10 мая 2019

У меня следующий тест,

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 Ответ

1 голос
/ 10 мая 2019

Для начала, никогда не используйте предопределенные константы, такие как 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...