为什么需要加星号
为什么这里需要加星号呢?是了一下不加星号返回列表,加星号就会把中括号去掉,这是什么用法呢? random.sample()
可以从指定的序列中,随机的截取指定长度的片断,不作原地修改。
则截取到的有可能是多个值,*red代表的是red的参数个数不确定的情况 加星号就是将red解包 hrp 发表于 2020-5-20 23:26
加星号就是将red解包
解包是什么意思,太高深了 Twilight6 发表于 2020-5-20 23:24
则截取到的有可能是多个值,*red代表的是red的参数个数不确定的情况
这里不就是截取6个值吗,为什么是不确定? jump_p 发表于 2020-5-20 23:31
这里不就是截取6个值吗,为什么是不确定?
我说的意思是random.sample()可能截取为多个,你这边设置6了肯定为6个值丫
这一个列表全部都是你的人为截取的多个值
还有解包通俗的理解就是将容器里面的元素逐个返回出来 red是一个列表,print里面列表前加星号就是把列表的内容依次打印出来的意思,运行一下程序很容理解了。
>>> a
>>> print(*a)
21 27 12 20 33 11 从red里面1到34随机取6个样本,所以red的参数是多个参数,加个星号代表可以接受多个参数。 *问题解决不了{:5_109:},但是运行这个代码会少一个随机的蓝色球{:5_91:} Twilight6 发表于 2020-5-20 23:24
则截取到的有可能是多个值,*red代表的是red的参数个数不确定的情况
问下这里不加星号为什么中括号会去掉呢
雨冷不及没有伱 发表于 2022-4-22 14:13
问下这里不加星号为什么中括号会去掉呢
不加 * 号,不会去掉列表的括号的,这里只有 red 是列表,blue 是随机的一个值
所以打印 print(red) 时候就是正常打印列表,即带上 [ ...... ],而 带 * 号表示解包,相当一个个取出后一次性放 print 中打印,就不再是打印列表了
而打印 blue 就是正常的打印单个值,自然不会带上 中括号
Twilight6 发表于 2022-4-22 19:52
不加 * 号,不会去掉列表的括号的,这里只有 red 是列表,blue 是随机的一个值
所以打印 print(red) ...
谢谢
页:
[1]