python语句:print(*[1,2,3]),是什么意思?

执行结果是这样的:但我不知道是什么意思。>>>print(*[1,2,3])123... 执行结果是这样的:但我不知道是什么意思。
>>> print(*[1,2,3])
1 2 3
展开
 我来答
百度网友023b1c3
科技发烧友

2021-01-13 · 智能家居/数码/手机/智能家电产品都懂点
知道小有建树答主
回答量:1086
采纳率:84%
帮助的人:283万
展开全部

题主你好,

星号后跟着一个列表, 学名叫Unpacing Argument Lists, 直译过来就是解包参数列表.

先举个例子来看吧:

   

上面定义了一个带有三个参数a,b,c的函数example; 还有一个元素为3,6,9的列表.

此时我们要调用example这个函数,让它输出3,6,9 则我们可以有以下几种写法:

    1.直接传参:

    2.使用解包参数列表:

 

    3.还是使用解包参数列表,但是以变量的形式:

上面三种写法得到的结果是一样的:

总结: *号后跟上一个列表,叫做"解包参数列表", 它主要用于函数调用, 直接看如果不好理解,则可以看展开后的形式, 即 print(*[1,2,3])这样不好理解的话, 把列表展开了, 则变成print(1,2,3)这样看就清楚多了.

另外, 还有一个双星的形式, 即**后跟变量名, 基本上也是用于函数调用时传参, 不同的是单星用于位置参数(所谓位置参数说白了就是上面example函数定义中写的a,b,c这种), 双星用于关键字参数(这里不作讨论).

网官相关说明截图:

=====

希望可以帮到题主, 欢迎追问.

microroom
科技发烧友

2021-01-13 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1595万
展开全部

[1,2,3]是一个列表,里面有3个元素。

你可以理解成列表是一个.rar压缩文件,3个元素就是3个压缩进.rar文件的文件。

而*[1,2,3]就是对这个压缩文件(列表)解压缩,自然会释放出3个文件(元素)。

此外,元组、集合、字典、字符串也可以解压缩,像:

print(*(1,2,3))

print(*[1,2,3])

print(*{1,2,3})

print(*{1:"a",2:"b",3:"c"})

print(*"123")

都可以产生相同的结果。

你可以将它们理解成是不同格式(.rar、.zip、.7z等)的压缩文件,如果里面的内容是相同的,解压出来的文件自然也是相同的。

下图是一个例子:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式