python - 如何从元组中解压可选项目?

标签 python tuples iterable-unpacking

<分区>

我有一些输入值的列表,其中前几个是必需的,最后几个是可选的。有没有什么简单的方法可以使用元组解包将它们分配给变量,如果缺少可选参数则得到 None。

例如。

a = [1,2]   
foo, bar, baz = a
# baz == None

理想情况下,a 可以是任意长度 - 包括长于 3(其他元素被丢弃)。

目前我正在使用带有参数名称列表的 zip 来获取字典:

items = dict(zip(('foo', 'bar', 'baz'), a))
foo = items.get('foo', None)
bar = items.get('bar', None)
baz = items.get('baz', None)

不过有点啰嗦

最佳答案

从链接的问题来看,这是可行的:

foo, bar, baz == (list(a) + [None]*3)[:3]

关于python - 如何从元组中解压可选项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21483301/

相关文章:

java - 在 Java 中解包数组/集合

python - 元组如何在 for 循环中解包?

python - Pandas : Merge two Dataframes on a column, 但仅保留不同列的数据

python - 为什么数据字典的内存开销会是磁盘上相同数据的两倍?

python - 从元组创建命名元组?

Python 使用 lambda 修改元组

python - 扩展解包不会在列表中创建单独的项目

python - python有泛型方法吗?

python - Groupby 所选 DataFrame 列的值的给定百分位数

python - python 中的半唯一元组? (又名。元组主键?)