使用Python检查列表中是否存在字符串元素?

使用Python检查列表中是否存在字符串元素?,python,Python,我有以下代码: self.ignore_dir_extensions = ['xcodeproj'] item = repr(extension.split('/')[0]) print "String: " + item if item in self.ignore_dir_extensions: print "Available: " + item 假设我有这个输出: String: 'xcodeproj' 预期产出: String: 'xcodeproj' Availab

我有以下代码:

self.ignore_dir_extensions = ['xcodeproj']

item = repr(extension.split('/')[0])

print "String: " + item

if item in self.ignore_dir_extensions:
    print "Available: " + item
假设我有这个输出:

String: 'xcodeproj'
预期产出:

String: 'xcodeproj'
Available: 'xcodeproj'
有人能帮我吗

尝试以下操作:

self.ignore_dir_extensions = ['xcodeproj']

item = extension.split('/')[0]

print "String: " + repr(item)

if item in self.ignore_dir_extensions:
    print "Available: " + repr(item)
您不想让
成为
repr()
的结果,因为字符串上的
repr()
将添加引号,例如:

>>> repr("xcodeproj")
"'xcodeproj'"
>>> print repr("xcodeproj")
'xcodeproj'
>>> print "xcodeproj"
xcodeproj
当您检查列表中是否存在该字符串时,您不需要引号,除非您尝试匹配的字符串也有引号。

请尝试以下操作:

self.ignore_dir_extensions = ['xcodeproj']

item = extension.split('/')[0]

print "String: " + repr(item)

if item in self.ignore_dir_extensions:
    print "Available: " + repr(item)
您不想让
成为
repr()
的结果,因为字符串上的
repr()
将添加引号,例如:

>>> repr("xcodeproj")
"'xcodeproj'"
>>> print repr("xcodeproj")
'xcodeproj'
>>> print "xcodeproj"
xcodeproj

当您检查列表中是否存在该字符串时,您不需要引号,除非您尝试匹配的字符串也有引号。

您对列表中包含的字符串的测试是正确的。但是,您正在测试是否存在与预期不同的字符串。您在字符串上调用了repr,因此名称项绑定到字符串
“'xcodeproj'”
(而不是字符串
“xcodeproj”
)。

您对列表中包含的字符串的测试是正确的。但是,您正在测试是否存在与预期不同的字符串。您在字符串上调用了repr,因此名称项绑定到字符串
“'xcodeproj'”
(而不是字符串
“xcodeproj”
)。

我个人会这样做:

self.ignore_dir_extensions = ['xcodeproj']

item = repr(extension.split('/')[0])

print "String: " + item

try:
    self.ignore_dir_extensions.index(item)
    print "Available: " + item
except:
    pass

我个人会这样做:

self.ignore_dir_extensions = ['xcodeproj']

item = repr(extension.split('/')[0])

print "String: " + item

try:
    self.ignore_dir_extensions.index(item)
    print "Available: " + item
except:
    pass
您可以简单地使用:

item = extension.split('/')[0]

print "String: '%s'" % item

if item in self.ignore_dir_extensions:
    print "Available: '%s'" %` item
通过这种方式,您可以避免repr的问题,您只需使用:

item = extension.split('/')[0]

print "String: '%s'" % item

if item in self.ignore_dir_extensions:
    print "Available: '%s'" %` item

这样可以避免repr的问题

问题是什么?你能给出与你的问题相关的较小的功能代码吗?。什么是分机?问题是什么?你能给出与你的问题相关的较小的功能代码吗?。扩展是什么?虽然这不能解决你的问题,我还是同意克罗德的答案。虽然这不能解决你的问题,我还是同意克罗德的答案。