我想了解python为什么以及如何将下面的示例视为字符串,当它实际上是一个列表时。 join(表达式)是否将表达式视为字符串?
示例1
{(this.state.hasContactRequest ? <MessageSendContacts/> : null)}
当我检查available_letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
print 'Available letters: ' + ''.join(available_letters)
的类型时,它有类型字符串。
但是,如果我使用
' '.join(available_letters)
然后我得到错误无法连接字符串和列表。
答案 0 :(得分:1)
这就是原因:
>>> available_letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
>>> x = ' '.join(available_letters)
>>> available_letters
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
>>> x
'a b c d e f g h i j k l m n o p q r s t u v w x y z'
>>> type(available_letters)
<type 'list'>
>>> type(x)
<type 'str'>
如上所述,availabe_letters
是list
类型本身的变量。但是当你在它上面调用' '.join
方法时,它的输出就是一个字符串。 list
和str
的连接不正确,但str
的连接是可以的。
答案 1 :(得分:0)
Python3:
available_letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
print ('Available letters: ', ''.join(available_letters))