Python не может преобразовать объект "list" в ошибку str [закрыто]

Я использую последний Python 3

letters = ['a', 'b', 'c', 'd', 'e']
letters[:3]
print((letters)[:3])
letters[3:]
print((letters)[3:])
print("Here is the whole thing :" + letters)

ошибка:

Traceback (most recent call last):
  File "C:/Users/Computer/Desktop/Testing.py", line 6, in <module>
    print("Here is the whole thing :" + letters)
TypeError: Can't convert 'list' object to str implicitly

при фиксации, пожалуйста, объясните, как это работает :) я не хочу просто копировать фиксированной строки

3 ответов


В настоящее время, вы пытаетесь объединить строку со списком в своем итоговом заявлении для печати, которое будет бросать TypeError.

вместо этого измените свой последний оператор печати на один из следующих:

print("Here is the whole thing :" + ' '.join(letters)) #create a string from elements
print("Here is the whole thing :" + str(letters)) #cast list to string

print("Here is the whole thing : " + str(letters))

вы должны бросить свой List-объект String первый.


кроме str(letters) метод, вы можете просто передать список в качестве независимого параметра print(). От doc строку:

>>> print(print.__doc__)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.

таким образом, несколько значений могут быть переданы в print() который будет печатать их в последовательности, разделенной значением sep (' ' по умолчанию):

>>> print("Here is the whole thing :", letters)
Here is the whole thing : ['a', 'b', 'c', 'd', 'e']
>>> print("Here is the whole thing :", letters, sep='')   # strictly your output without spaces
Here is the whole thing :['a', 'b', 'c', 'd', 'e']

или вы можете использовать форматирование строк:

>>> letters = ['a', 'b', 'c', 'd', 'e']
>>> print("Here is the whole thing : {}".format(letters))
Here is the whole thing : ['a', 'b', 'c', 'd', 'e']

или интерполяция строк:

>>> print("Here is the whole thing : %s" % letters)
Here is the whole thing : ['a', 'b', 'c', 'd', 'e']

эти методы обычно предпочтительнее конкатенация строк с + оператор, хотя это в основном вопрос личного вкуса.