如何解包包含未知数量元素的列表,并用None替换其他变量

2024-10-16 17:24:30 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一份清单,说:

tags= ["ff", "uu", "ss"] 
        

但是,我不知道如何将元素liste分配给variable,因为我知道列表中的元素数量是可变的,并且我想将None分配给tag4和tag5

tag1, tag2, tag3, tag4 , tag5 = tags

Tags: none元素列表数量tagsvariablessff
2条回答

我会这样做:

tags= ["ff", "uu", "ss", None, None]
tag1, tag2, tag3, tag4 , tag5 = tags

一些解释-如果数组中有固定数量的元素,可以用None值填充其余的元素

这对于原型设计和小型阵列非常有效,但是如果您正在使用ML和其他奇特的东西,我建议使用numpypandas进行这种操作

结果如下:


In [6]: tag1
Out[6]: 'ff'

In [7]: tag2
Out[7]: 'uu'

In [8]: tag3
Out[8]: 'ss'

In [9]: tag4

In [10]: tag5

In [11]: tag5 is None
Out[11]: True

下面是另一种方法: 用你的固定数字初始化一个列表,比如说5 like,并且只将项目放在特定的索引中,如下所示:

n [16]: l = [None] * 5

In [17]: l
Out[17]: [None, None, None, None, None]

In [18]: l[0] = 'foo'

In [19]: l
Out[19]: ['foo', None, None, None, None]

原始答复:Create an empty list in Python with certain size

tags= ["ff", "uu", "ss"]
tag_vars={}

for i in range(len(tags)):
    tag_vars[f"tag{i+1}"] = tags[i]

print(tag_vars)
print(tag_vars["tag1"])
print(tag_vars["tag2"])
print(tag_vars["tag3"])

相关问题 更多 >