请问为什么不能用列表方法给切片直接赋值

b=a[::2]
b.sort()
a[::2]=b可以
但是a[::2]=b.sort()不行

有空去了解下 sort() 的参数及返回值

https://www.runoob.com/python3/python3-att-list-sort.html

描述
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

语法
sort()方法语法:

list.sort( key=None, reverse=False)
参数
参数
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
返回值
该方法没有返回值,但是会对列表的对象进行排序。

没有返回值, 那就不能赋值给其他变量

def mysort(l):
  l1 = list(l)
  l1.sort()
  return l1

a[::2]= mysort(b)