原题
答案
搞不明白它的x y是在怎么变化的?答案也看不太懂 请求指点🙏🏻
import random # 导入 random 模块
x = [75, 64, 7, 86, 52, 6, 11, 31, 59, 64] # 定义一个包含 10 个整数的列表
print(x) # 输出未排序前的列表 x
y = x[0:5] # 切片操作,将列表 x 的前 5 个元素赋值给列表 y 此时y = [75, 64, 7, 86, 52]
y.sort() # 对列表 y 进行升序排序,此时 y = [7, 52, 64, 75, 86]
x[0:10] = y # 将排序后的列表 y 赋值给列表 x 的前 10 个元素, 此时x = [7, 52, 64, 75, 86]
y = x[5:10] # 切片操作,将列表 x 的第 6 到第 10 个元素赋值给列表 y 此时 y = []
y.sort(reverse=True) # 对列表 y 进行降序排序 y= []
x[10:20] = y # 将排序后的列表 y 赋值给列表 x 的第 11 到第 20 个元素 x = [7, 52, 64, 75, 86]
print(x) # 输出排序后的列表 x
从 y = x[5:10] 开始往后都是在无用功了,因为这时 x 就已经是结果那样,只有5个数,切片得到的是空列表。
y=x[0:5]这一步,就注定y只有5个值,相应的后续的x也只会有5个值
所以从y=x[5:10]开始,y就没有值了,5~10的切片,取到的是空值
所以x就是一开始的x列表的前五个值,并且排了个序
x=[75,64,7,86,52,6,11,31,59,64]
y=x[0:5]
print('y',y)
y.sort()
print('y.sort():',y)
x[0:10]=y
y=x[5:10]
print(y)
y.sort(reverse=True)
print(y)
x[10:20]=y
print(x)
下面的代码从数据集子模块datasets中提取了鸢尾花数据集——这是用来演示分类模型的最常用的数据集。鸢尾花数据集X共有150个样本,每个样本有4个特征列,分别是花萼的长度和宽度、花瓣的长度和宽度。这些样本共有3种类型,分别用整数0、1、2表示,所有样本的类型标签组成标签集y,这是一个一维数组。
>>> from sklearn.datasets import load_iris
>>> X, y = load_iris(return_X_y=True)
>>> X.shape # 数据集X有150个样本,4个特征列
(150, 4)
>>> y.shape # 标签集y的每一个标签和数据集X的每一个样本一一对应
(150,)
>>> X[0], y[0]
(array([5.1, 3.5, 1.4, 0.2]), 0)
加载数据时,如果指定return_X_y参数为False(默认值),则可以查看标签的名字。
>>> iris = load_iris()
>>> iris.target_names # 查看标签的名字
array(['setosa', 'versicolor', 'virginica'], dtype='<U10')
>>> X = iris.data
>>> y = iris.target