序列翻转问题
x = "小甲鱼是老污龟">>> y = list(x)
>>> z = y.reverse()
>>> y
['龟', '污', '老', '是', '鱼', '甲', '小']
>>> z
>>> print(z)
None
z为什么无法赋值 reverse()是没有返回值,所以是None reverse只是方法,没有返回值。
想有返回值,可以参考使用reversed。
戳我前进使用方法 reverse 只是翻转函数,没有返回值(值是 None)
解法 1:
y = list(x)
y.reverse() # 先翻转
z = y # 后赋值
解法 2:
x =
z = list(reversed(x)) # 注:这里用的是 reversed 不是 reverse(结尾有 d)
print(z)
list 中的翻转方法 .reverse() ,是没有返回值的。
翻转过程相当于 , 将 列表的值拿出来翻转后,在写入变量中,没有返回值,故为 None 。
>>> a = list("小甲鱼是老污龟") 此处将 str类型 值 转为 list 类型
>>> a.reverse() 此处翻转 a列表
>>> a a 被翻转
['龟', '污', '老', '是', '鱼', '甲', '小']
>>> c = a.reverse() 此处 将 a.reverse() 的返回值 赋值给 c
>>> c 查看 c 中内容为None,由于机制 ,直接在此处展示新的命令行。因为什么都没有在这里重开么,也算合理。
>>> print(a.reverse()) 此处打印 a.reverse() 的返回值,结果为 None
None
页:
[1]