打印在字符串中找到的字符

print found characters inside a string

开门见山:我想在字符串中打印这些字符的每个实例。例如:

#Pseudocode below
animals = 'cat dog fish goat pig'
if 'abcd' in animals,
print(instanceOfIt)

会吐出来
卡达
*catdoggoat
中的字母 我将如何做到这一点?

如果我理解正确的话:

animals = 'cat dog fish goat pig'
print(''.join(filter(lambda x: x in 'abcd', animals)))

filter 采用一个函数和一个可迭代对象,returns 一个新的可迭代对象,它只包含那些函数返回真实值的元素。

一个 lambda 表达式就像一个内联函数,它相当于在那里写 myfunction 并像这样更早地定义它:

def myfunction(x):
    return x in 'abcd'

print(''.join(filter(myfunction, animals)))

或者(感谢 Peter Wood):

print(''.join(filter('abcd'.__contains__, animals)))