如果我有以下内容:

name="paula"

list=["l", "p"]

for x in list:
    print name.count(x)

>>>
1
1

如果我理解正确,则使用字符串: "paula"并确认其具有一个"l"和一个"p"字符。

但是,如果我想这样做:

#**if name has both Letters, l and p, then it is a mouse**

name="paula"

list_1=["l"]
list_2=["p"]
list_3=["l", "p"]

for y in list_3:
    if name.count(y):

   print "%s contains the letters %s and %s. %s is a mouse." % (name,w,x,name)  

#assume w and x are already defined


>>>

paula contains the letters l and p. paula is a mouse.
paula contains the letters l and p. paula is a mouse.

显然,这是行不通的。 我意识到在这段代码中,它将检查字符串"paula"中的字母"l" 然后再次运行以查看是否包含"p" 因此,两个输出而不是一个。

我认为for循环可能需要丢弃。

任何帮助是感激的家伙!

@ 2位炼金术士-3个列表的原因:

#cat, dog, mouse
#if name contains the letter "L", then it is a cat
#if name contains the Letter "P", then it is a dog
#if Name has both Letters, L and P, then it is a mouse
#if Name has no L or P, then loop the question


name="lily"
name_2="patrick"
name_3="paula"

list_1=["l"]
list_2=["p"]
list_3=["l", "p"]


for w in list_1:
    if name.count(w):
        print "%s contains the letter %s. %s is a cat." %(name,w,name)

for x in list_2:
    if name_2.count(x):
        print "%s contains the letter %s. %s is a dog." %(name_2,x,name_2)

for y in list_3:
    if name_3.count(y):
        print "%s contains the letters %s and %s. %s is a mouse." %(name_3,w,x,name_3)

===============>>#1 票数:3

我认为您最好的选择是使用组合。

name = 'paula'
seek = 'pl'

if set(seek).issubset(set(name)):
    print "{0} contains the letters '{1}'. {0} is a mouse.".format(name, seek)

>>> paula contains the letters 'pl'. paula is a mouse.

===============>>#2 票数:3

如果我理解正确,那么您想检查一下是否可以在另一个字符串中找到所有字符串列表吗?

如果是这样,您可以执行以下操作:

list3 = ["l", "p"]
name = "paula"
if all(char in name for char in list3):
    print "{0} is a mouse.".format(name)

本质上,代码的工作方式是将生成器与“ all”运算符结合使用。

代码段char in name for char in list3将遍历每个项目list3并将报告真或假值是否不是名称内部存在的字符。 这种语法称为生成器理解,与列表理解非常相似,您可以在此处了解更多信息。

简而言之, char in name for char in list3类似于以下内容:

temp = []
for char in list3:
    temp.append(char in name)
print temp

>>> [True, True]

接下来, all功能是需要的bool的列表,并返回一个内置True只有当列表中的每个元素也是True

总而言之,仅当可以在name内找到列表中的每个字符时,表达式all(char in name for char in list3)值才为True

===============>>#3 票数:1

使用any()检查列表的内容是否存在于字符串中:

name = "paula"
list_1 = ["l", "p"]
if any(word in name for word in list_1):
    print 'paula is a mouse'

  ask by dyao translate from so

未解决问题?本站智能推荐:

2回复

如何查找包含特定其他字符串的字符串?

我的作业有问题,这对我来说很困惑,这就是问题所在: 因此输入是一个字符串,它是一个线性方程式,如“A + B = C”。 但由于某种原因,A,B或C中的一个对我们来说并不清楚,我们无法正确看待它。 例如: 注意:它可能发生在方程的一部分; A,B或C! 和'#'可以超过
1回复

包含特定字符的字符串[重复]

这个问题已经在这里有了答案: 如何针对一个值测试多个变量? 22个答案 使用此代码,我想做的就是不让不包含元音的输入名称。 如果只有1个元音,它会起作用,但是当我尝试多个时,它不会起作用。 我知道python中的或 和 。 我已经研究过,但没有找到解释为什么
2回复

删除字符串列表中包含特定字符串的元素

我有一个像这样的程序创建列表: 我的目标是移动到列表中,如果该元素包含在字符串之一中,则删除该字符串 第一次迭代: 第二个: 第三个: 我尝试使用filter()函数没有成功 我希望每个元素都传递给函数,唯一的问题是列表大小在减小,因此这是我不知道如何处理的另一个问题 谢谢
1回复

包含$ 1的字符串

我有一个脚本,可滚动浏览所有未压缩文件的文件夹并获取内容信息。 问题出在诸如以下文件的名称中: 因为如果我想获取统计信息,字符串中的$ 1消失了,并且出现以下错误: 我该如何解决?
6回复

如果字符串仅包含“-”或“。”

我正在编写一个小函数,用于检查输入的字符串是否为莫尔斯电码。 该函数应该只在Inputted_string中执行“ If-”或“。”之类的操作:“但是我似乎找不到找到在Python3上仅做一点点的方法。 我实现此方法的当前方法非常凌乱,不是Pythonic 粘贴时格式略有偏离,但这是
1回复

在lua中搜索包含特定字符串的键

我有多个lua文件,其中包含我想通过Python提取的信息。 要在Python中使用Lua我正在使用疯狂的python ,但这不是一个要求 - 如果你有其他方法也可以。 lua文件看起来像这样: 我感兴趣的值是source.env.MYTOOL_VERSION ,而MYTOOL始
2回复

查找和删除包含特定字符串的列

我有一个很大的数据文件,其中某些列中包含URL链接。 例如:“照片”列具有作为链接的值: https : //cdn.sofifa.org/players/4/19/193080.png 同样,其他列也具有此类链接。 我想找到所有包含链接的列并将其删除。 我尝试使用此代码:
2回复

跳过CSV中包含特定字符串的行

我有一个字符串列表(比本例中更长)。 如果一行数据中存在一个字符串,我想跳过该行。 到目前为止,这是我遇到的问题,但出现索引错误,这使我相信我没有正确循环。 我得到的错误: IndexError: list index out of range 。 我知道我正在按行读取,但是我需要
6回复

查找名称包含特定字符串的列

我有一个带有列名称的数据框,我想找到一个包含特定字符串但不完全匹配的字符串。 我在寻找'spike'中列名像'spike-2' , 'hey spike' , 'spiked-in' (在'spike'的部分是始终连续)。 我希望列名以字符串或变量的形式返回,因此我以后可以正常使用df[
1回复

从包含特定字符串的文件输出行

我是Python 3的初学者,我有点需要帮助。 我要在包含字符串target的文件文件filename中输出每一行,然后加上行号。 我试图测试我的想法,但是IDLE不断抛出错误消息,提示“没有这样的文件或目录:”,即使我已将歌词添加到文件等中。 所以这是我所拥有的: 因此,