Mik*_*tty 3 python tuples python-3.x
我有一个这样的元组
t = (1, '0076', 'AU', '9927016803A', '9927013903B', '0010', 'VO')
Run Code Online (Sandbox Code Playgroud)
我想提取前 6 个值作为元组(按顺序)和最后一个值作为字符串。
下面的代码已经工作,但我想知道是否有一个“单行”来实现我正在寻找的东西。
# works, but it's not nice to unpack each value individually
cid,sc,ma,comp,mat,step,alt = t
t_new = (cid,sc,ma,comp,mat,step,)
print(t_new, alt) # (1, '0076', 'AU', '9927016803A', '9927013903B', '0010') VO
Run Code Online (Sandbox Code Playgroud)
这与我正在寻找的非常接近,但它将第一个值作为列表而不是元组返回:
# works, but returns list
*t_new,alt = t
print(t_new, alt) # [1, '0076', 'AU', '9927016803A', '9927013903B', '0010'] VO
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以下方法,但没有成功:
tuple(*t_new),alt = t # SyntaxError
(*t_new),alt = t # still a list
(*t_new,),alt = t # ValueError
Run Code Online (Sandbox Code Playgroud)
如果没有其他方法,我可能会进行第二次尝试并将列表转换为元组。
为什么不只是:
t = (1, '0076', 'AU', '9927016803A', '9927013903B', '0010', 'VO')
t_new, alt = t[:-1], t[-1]
print(t_new, alt) # (1, '0076', 'AU', '9927016803A', '9927013903B', '0010') VO
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
762 次 |
| 最近记录: |