Python如何实现列表解包到变量且最后一个变量接收剩余所有元素
实现方案
Python 3 原生内置了对应的解包语法,不需要额外自定义函数,直接用*标记接收剩余元素的变量即可,写法非常简洁:
# 直接对原列表解包,无需调用自定义函数 command, target, operation, *parameters = ["grant", "woody", "rights", "read", "write", "delete"]
执行后各变量取值完全符合你的预期:
command="grant"target="woody"operation="rights"parameters=["read", "write", "delete"]
如果列表元素数量少于前几个单独提取的变量数量会触发报错,你可以提前做长度校验;如果剩余元素为空,带*标记的parameters会自动被赋值为空列表[],不需要额外处理。如果你仍在使用已经停止维护的Python 2,才需要自己实现拆分函数。
内容的提问来源于stack exchange,提问作者Walt Howard
相关产品推荐
相关产品推荐

