在Python中我试图创建一个函数,它将根据每个字符串项的第一个字母从字符串中打印项目。
def foods(lst):
if lst[0][0] == 'A':
print(lst[0])
foods(['Apples', 'Bananas', 'Yogurt', 'Zucchini', 'Grapes'])
Apples
我不太清楚如何制作它,以便根据您的字符串项列表,只打印以A-> L或L-> Z开头的项目。
我尝试使用lst[0][1]
等添加更多if语句来检查每个项目,但不打印任何内容。
我还尝试创建一个语句,如:
if [x[0] for x in (lst)] == ['A', 'B', 'C']:
但也没有打印出来。
非常感谢任何帮助,我希望我能清楚地解决问题。感谢。
基于你们的一些人帮助和回顾以前的笔记,我找到了一种更“初学的方式”来完成我想要的问题;
def foods(lst):
for char in lst:
if char[0] > 'N':
pass
else:
print(char)
谢谢你们的帮助,非常感谢。
答案 0 :(得分:0)
您可以使用list comprehension和ord来执行此操作:
[x for x in lst if ord('A') <= ord(x[0]) < ord('L')]
# check first letter is between A and L
lst = foods(['Apples', 'Bananas', 'Yogurt', 'Zucchini', 'Grapes'])
print [x for x in lst if ord(A) <= ord(x[0]) < ord(L)]
# ['Apples', 'Bananas', 'Grapes']
答案 1 :(得分:0)
def food(lst, start, end):
charLst = [chr(x) for x in range(ord('A'),ord('D'))]
if lst[0][0] in charLst:
print(lst[0])
foods(['Apples', 'Bananas', 'Yogurt', 'Zucchini', 'Grapes'], 'A', 'D')
苹果香蕉