Python之shuffle多参数给列表洗牌

本文介绍了Python中shuffle函数用于多参数列表洗牌的操作。通常shuffle接受单列表参数,但通过实例展示了当传入多列表时,它会保持行内顺序不变,仅打乱列的顺序,所有列表同步变化。同时,还给出了仅打乱列表第一行内容的示例,显示了各列表第一行改变顺序的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  shuffle() 方法将序列的所有元素随机排序。需要导入的包是:from sklearn.utils import shuffle
之前接触的shuffle函数都是参数是单列表的,如下:

from sklearn.utils import shuffle
a = [1, 2, 3, 4, 5]
a = shuffle(a)
print(a)

输出的结果是:

[5, 3, 1, 2, 4]

  但是最近的代码中出现了多参数,即多列表,那么它是如何打乱的呢?我们通过一段代码来了解一下。
  a、b、c都是二维列表,我们将a、b、c作为shuffle的参数洗牌打乱一下,发现结果是二维列表行内的顺序不变,列的顺序发生了变化,并且a、b、c三个二维列表的变化是一致的。代码如下:

from sklearn.utils import shuffle

a = [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]

b = [[10, 11, 12],
     [13, 14, 15],
     [16, 17, 18]]

c = [[19, 20, 21],
     [22, 23, 24],
     [25, 26, 27]]

a, b, c = shuffle(a, b, c)

print(a)
print(b)
print(c)


输出的结果是:

[[7, 8, 9], [4, 5, 6], [1, 2, 3]]
[[16, 17, 18], [13, 14, 15], [10, 11, 12]]
[[25, 26, 27], [22, 23, 24], [19, 20, 21]]

  再看另一个例子,在这里a、b、c列表不变,我们只将这三个列表索引为0的内容打乱,发现a、b、c只有第一行发生了改变,并且第一行改变的顺序是一致的。

from sklearn.utils import shuffle

a = [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]

b = [[10, 11, 12],
     [13, 14, 15],
     [16, 17, 18]]

c = [[19, 20, 21],
     [22, 23, 24],
     [25, 26, 27]]

a[0], b[0], c[0] = shuffle(a[0], b[0], c[0])

print(a[0])
print(b[0])
print(c[0])

输出的结果是:

[2, 1, 3]
[11, 10, 12]
[20, 19, 21]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值