Python 星号在*a,b,c=line.split()中的作用是什么?
假设Python 星号在*a,b,c=line.split()中的作用是什么?,python,python-3.x,asterisk,iterable-unpacking,argument-unpacking,Python,Python 3.x,Asterisk,Iterable Unpacking,Argument Unpacking,假设行是:“芝加哥太阳报01:52” *a,b,c=line.split()做什么?特别是,星号的意义是什么 编辑:经过测试,它看起来像是“芝加哥”,“太阳”和“01:52”都存储在a,b和c中。星号似乎导致“Chicago”作为列表的第一个元素存储在中。因此,我们有a=[“芝加哥”],b=“太阳”和c=“01:52”。在这种情况下,有人能指出有关星号运算符功能的资料吗?将该文本拆分为空白将为您提供: In [743]: line.split() Out[743]: ['Chicago', 'S
行
是:“芝加哥太阳报01:52”
*a,b,c=line.split()做什么?特别是,星号的意义是什么
编辑:经过测试,它看起来像是“芝加哥”
,“太阳”
和“01:52”
都存储在a
,b
和c
中。星号似乎导致“Chicago”
作为列表的第一个元素存储在中。因此,我们有a=[“芝加哥”]
,b=“太阳”
和c=“01:52”
。在这种情况下,有人能指出有关星号运算符功能的资料吗?将该文本拆分为空白将为您提供:
In [743]: line.split()
Out[743]: ['Chicago', 'Sun', '01:52']
现在,这是一个3元素列表
。赋值将获取输出的最后两个元素,并将它们分别赋给b
和c
。然后,*
或splat操作符将该列表的其余部分传递给a
,因此a
是一个元素列表。在本例中,a
是单个元素列表
In [744]: *a, b, c = line.split()
In [745]: a
Out[745]: ['Chicago']
In [746]: b
Out[746]: 'Sun'
In [747]: c
Out[747]: '01:52'
查看并获取有关splat运算符的更多信息,了解它们的工作方式和适用位置。尝试此操作时,您在变量中看到了什么?请参阅文档星号表示任意长度的内容(称为星号解包)。因此,直到line.split()方法中的最后三个元素之前的所有内容