小可爱. 发表于 2020-11-1 14:37:38

为什么b的输出什么也没有 方法不是这么用的吗

为什么b的输出什么也没有方法不是这么用的吗

永恒的蓝色梦想 发表于 2020-11-1 14:40:38

a=
b=a.copy()
b.reverse()
b

hrp 发表于 2020-11-1 14:41:41

a.reverse()是没有返回值(或者说是返回None)的,它是对a本身进行反转,你不用赋值给b,直接反转后直接打印a就能看见效果这样:
a=
a.reverse()
print(a)

小可爱. 发表于 2020-11-1 14:43:58

永恒的蓝色梦想 发表于 2020-11-1 14:40


可以讲讲什么意思嘛为什么我那么写b没有值必须先把a拷贝给b才有

永恒的蓝色梦想 发表于 2020-11-1 14:49:37

小可爱. 发表于 2020-11-1 14:43
可以讲讲什么意思嘛为什么我那么写b没有值必须先把a拷贝给b才有

因为 reverse() 没有返回值

小可爱. 发表于 2020-11-1 15:22:51

永恒的蓝色梦想 发表于 2020-11-1 14:49
因为 reverse() 没有返回值

那怎么将列表的元素倒着排列在赋值给一个变量啊这个没有返回值的方法怎么用{:10_266:}

lhgzbxhz 发表于 2020-11-1 15:27:16

小可爱. 发表于 2020-11-1 15:22
那怎么将列表的元素倒着排列在赋值给一个变量啊这个没有返回值的方法怎么用

b = reversed(a)

kogawananari 发表于 2020-11-1 15:49:31

小可爱. 发表于 2020-11-1 15:22
那怎么将列表的元素倒着排列在赋值给一个变量啊这个没有返回值的方法怎么用

b = a[::-1]

Twilight6 发表于 2020-11-1 18:47:45

小可爱. 发表于 2020-11-1 15:22
那怎么将列表的元素倒着排列在赋值给一个变量啊这个没有返回值的方法怎么用



sort()、reverse()、append()、extend()、clear() 等列表方法是没有返回值的,都是在列表上直接进行改变的,而 pop() 函数有返回值

如果你想倒着赋值给另一个对象,将列表用切片方法拷贝一份赋值,然后将赋值后的对象使用 .reverse() 放方法

或者用 reversed() 函数转为反向迭代器后通过list 转回列表即可

参考代码:

切片:
a =
b = a[:]
b.reverse()
print(a,b)

用 reversed() 函数:
a =
b = list(reversed(a))
print(a,b)

页: [1]
查看完整版本: 为什么b的输出什么也没有 方法不是这么用的吗