|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
永久存储那一课里面,有一个“一个任务”,里面代码示范分割字符串文本内容,
for each_line in f:
if each_line[ : 6 ] != ' ====== '
( role , line_spoken ) = each_line.split( ':',1 )
.......
就是这一句: ( role , line_spoken ) = each_line.split( ':',1 )
没看懂这一句什么意思
( role , line_spoken ) 这个是什么?元组?字典????没明白,求指教
这种形式可以认为是用一个元组来接受列表的元素的值。
each_line.split( ':',1 )是一个两个元素的列表
( role , line_spoken ) 可以认为是一个元组,也可简写成role , line_spoken
实际上这种方式不仅能接收一个列表,还可以:
- 元组当然可以了
- >>> a, b = (12, 23)
- >>> a
- 12
- >>> b
- 23
- 集合也成,不过因为集合是无序的,那个值在前是随机的。
- >>> a, b = {12, 23}
- >>> a
- 12
- >>> b
- 23
- 字典也行
- >>> a, b ={1: 12, 2: 23}
- >>> a
- 1
- >>> b
- 2
- >>> a, b = {1: 12, 2: 23}.values()
- >>> a
- 12
- >>> b
- 23
- 甚至字符串也行
- >>> a, b = '12'
- >>> a
- '1'
- >>> b
- '2'
- 说起来只要是可迭代的对象都成。
- >>> a, b = range(2)
- >>> a
- 0
- >>> b
- 1
- 但元素的个数必须与等式左边的变量数相同。
- >>> a, b = [1, 2, 3]
- Traceback (most recent call last):
- File "<pyshell#77>", line 1, in <module>
- a, b = [1, 2, 3]
- ValueError: too many values to unpack (expected 2)
复制代码
|
|