鱼C论坛

 找回密码
 立即注册
查看: 2392|回复: 11

[已解决]为什么需要加星号

[复制链接]
发表于 2020-5-20 23:21:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1589987993(1).jpg

为什么这里需要加星号呢?是了一下不加星号返回列表,加星号就会把中括号去掉,这是什么用法呢?
最佳答案
2020-5-20 23:58:01
jump_p 发表于 2020-5-20 23:31
这里不就是截取6个值吗,为什么是不确定?

我说的意思是random.sample()可能截取为多个,你这边设置6了肯定为6个值丫
这一个列表全部都是你的人为截取的多个值

还有解包通俗的理解就是将容器里面的元素逐个返回出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-20 23:24:17 | 显示全部楼层
random.sample()
可以从指定的序列中,随机的截取指定长度的片断,不作原地修改。

则截取到的有可能是多个值,*red代表的是red的参数个数不确定的情况
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-20 23:26:33 From FishC Mobile | 显示全部楼层
加星号就是将red解包
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-20 23:30:17 | 显示全部楼层
hrp 发表于 2020-5-20 23:26
加星号就是将red解包

解包是什么意思,太高深了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-20 23:31:36 | 显示全部楼层
Twilight6 发表于 2020-5-20 23:24
则截取到的有可能是多个值,*red代表的是red的参数个数不确定的情况

这里不就是截取6个值吗,为什么是不确定?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-20 23:58:01 | 显示全部楼层    本楼为最佳答案   
jump_p 发表于 2020-5-20 23:31
这里不就是截取6个值吗,为什么是不确定?

我说的意思是random.sample()可能截取为多个,你这边设置6了肯定为6个值丫
这一个列表全部都是你的人为截取的多个值

还有解包通俗的理解就是将容器里面的元素逐个返回出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-21 00:19:47 | 显示全部楼层
red是一个列表,print里面列表前加星号就是把列表的内容依次打印出来的意思,运行一下程序很容理解了。
>>> a
[21, 27, 12, 20, 33, 11]
>>> print(*a)
21 27 12 20 33 11
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-21 07:50:07 | 显示全部楼层
从red里面1到34随机取6个样本,所以red的参数是多个参数,加个星号代表可以接受多个参数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-21 11:42:25 | 显示全部楼层
*问题解决不了,但是运行这个代码会少一个随机的蓝色球
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-22 14:13:20 | 显示全部楼层
Twilight6 发表于 2020-5-20 23:24
则截取到的有可能是多个值,*red代表的是red的参数个数不确定的情况

问下这里不加星号为什么中括号会去掉呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-22 19:52:07 | 显示全部楼层
雨冷不及没有伱 发表于 2022-4-22 14:13
问下这里不加星号为什么中括号会去掉呢


不加 * 号,不会去掉列表的括号的,这里只有 red 是列表,blue 是随机的一个值

所以打印 print(red) 时候就是正常打印列表,即带上 [ ...... ],而 带 * 号表示解包,相当一个个取出后一次性放 print 中打印,就不再是打印列表了

而打印 blue 就是正常的打印单个值,自然不会带上 中括号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-23 08:05:33 | 显示全部楼层
Twilight6 发表于 2022-4-22 19:52
不加 * 号,不会去掉列表的括号的,这里只有 red 是列表,blue 是随机的一个值

所以打印 print(red) ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-11 16:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表