List 检查字符串中的字符并输出单个消息
输出:List 检查字符串中的字符并输出单个消息,list,python-3.x,iteration,List,Python 3.x,Iteration,输出: a_lst = ['chair','gum','food','pizza'] letter = 'x' for word in a_lst: if letter not in word: print ('no',letter) elif letter in word: print ('yes',letter) 是否有一种方法可以迭代“a_lst”中的每个项目,检查每个项目是否有字母“x”。如果没有项目包含字母“x”,则只打印一次“no x”。如果单词包含
a_lst = ['chair','gum','food','pizza']
letter = 'x'
for word in a_lst:
if letter not in word:
print ('no',letter)
elif letter in word:
print ('yes',letter)
是否有一种方法可以迭代“a_lst”中的每个项目,检查每个项目是否有字母“x”。如果没有项目包含字母“x”,则只打印一次“no x”。如果单词包含字母“x”,请只打印一次“是x”
我认为我的逻辑有缺陷
有什么建议吗
谢谢您可以这样做:
no x
no x
no x
no x
解释:如果
a_lst
中的任何单词都没有字母,则结果将为[]
。在空列表上执行if结果
时,它返回False
,否则返回True
。条件语句相应地检查并打印输出语句
在python中执行此操作的另一种方法是使用filter
函数:
letter = 'x'
result = [a for a in a_lst if letter in a]
if result:
print('yes', letter)
else:
print('no', letter)
另一种方法是使用any
:
if filter(lambda x: letter in x, a_lst):
print('yes', letter)
else:
print('no', letter)
any(列表中逐字逐句的字母)
如果任何单词包含字母,则返回True。您是否尝试过类似的操作:
if any(letter in word for word in a_list):
print('yes', letter)
else:
print('no', letter)
您可以使用任何功能
a = ['chair', 'gum', 'food', 'pizza']
letter = 'a'
result = 'no ' + letter
k = 0
for i in a:
if letter in a[k]:
print(a[k])
result = 'yes ' + letter
k += 1
print(result)
if any(letter in word for word in a_lst):
print('yes', letter)
else:
print('no', letter)