Python 如何使用逗号分隔变量?
我有一个这样的变量:ignore=val1,val2 但我不清楚如何将这些值作为单独的值使用 目前(据我所知),我需要对它们进行硬编码,如下所示:Python 如何使用逗号分隔变量?,python,Python,我有一个这样的变量:ignore=val1,val2 但我不清楚如何将这些值作为单独的值使用 目前(据我所知),我需要对它们进行硬编码,如下所示: if (not Path.find("val1") > -1 ) and (not Path.find("val2") > -1 ): etc 现在,我希望将测试添加到它中,我需要像这样硬编码它: if (not Path.find("val1") > -1 ) and (not Path.find("val2") >
if (not Path.find("val1") > -1 ) and (not Path.find("val2") > -1 ):
etc
现在,我希望将测试添加到它中,我需要像这样硬编码它:
if (not Path.find("val1") > -1 ) and (not Path.find("val2") > -1 ) and (not Path.find("test") > -1 ):
没有更好的方法吗?如果
ignore
是值名称的元组:
if all(Path.find(v) <= -1 for v in ignore):
if all(Path.find(v)这是一个tuple
,Python中的基本数据类型之一
您可以使用索引符号访问不同的值,如忽略[0]
,忽略[1]
,等等
但是,如果您正在为这样的基本语言功能而挣扎,我强烈建议您在继续之前阅读Python教程。ignore=var1,var2
本质上是将ignore
赋值给一个元组,其中包含var1
和var2
的值。要访问它们,请使用ignore[0]
或忽略[1]
分别用于第一个和第二个元素(在Python列表/元组索引中,从0开始,而不是从1开始)
除此之外,您还可以使用集合.namedtuple
。这允许您将元组视为具有属性的类:
import collections
sometuple = collections.namedtuple('sometuple', 'var1 var2')
然后可以按名称访问元素:
ignore = sometuple(var1, var2)
ignore.var1 # first element
ignore.var2 # second element
请参阅namedtuples
的文档
有关元组的一般信息,请参阅。+1,但我更喜欢如果全部(Path.find(v)@TimPietzcker-我也喜欢它。谢谢你的帮助。在阅读了几个小时的元组之后,我理解了这个过程。我不理解的是,当我有一个这样的元组ignore=val1,val2时,它不匹配任何值,但是当我把它设置为ignore=val1时,它工作得非常完美。出于某种原因,我无法在这个元组中获得多个值。我猜我需要多读一点。any/all
可以在教程中找到。但是你必须在这里了解使用它们的想法。你能提供更多关于Path
是什么以及Path.find
做什么的详细信息吗?