【发布时间】:2019-01-08 13:53:15
【问题描述】:
我可以在 Python shell 中执行这两个表达式而不会出错:
string = '这是一个字符串'
列表(字符串)[::-1](输出) ['g', 'n', 'i', 'r', 't', 's', '', 'a', '', 's', 'i', ' ', 's', 'i', 'h', 't']
list(string).reverse()
我能做到:
string = ''.join(list(string)[::-1])
有效地将字符串反转到位。但是,当我这样做时:
string = ''.join(list(string).reverse()
我遇到了一个错误:
TypeError: 只能加入一个可迭代对象
所以 list(string).reverse() 不会返回一个可迭代的但 list(string)[::-1] 会。有人可以帮我理解潜在的差异吗?
【问题讨论】:
-
值得注意的是,字符串是可以直接切片的,不需要先创建一个列表再把
join的字母组合在一起。只需使用string[::-1]。