Assume line
is: "Chicago Sun 01:52"
.
什么是*a, b, c = line.split()
做?特别是,星号的意义是什么?
编辑:经过测试,似乎"Chicago"
, "Sun"
and "01:52"
都存储在a
, b
and c
。星号似乎导致"Chicago"
作为列表的第一个元素存储在 a 中。所以,我们有a = ["Chicago"]
, b = "Sun"
and c = "01:52"
。在这种情况下,有人能指出有关星号运算符功能的材料吗?
用空格分割该文本将为您提供:
In [743]: line.split()
Out[743]: ['Chicago', 'Sun', '01:52']
现在,这是一个 3 元素list
。该分配将获取输出的最后两个元素并将它们分配给b
and 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'
Look at PEP 3132 and python 的 splat 运算符 * 和 ** 在哪里有效?有关 splat 运算符、它们如何工作以及它们适用于何处的更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)