如何循环 startswith 方法
How to loop on startswith method
我需要检查输入的第一个单词是否在我的列表中
name = input("type your name: ")
if name.startswith("Tim") or name.startswith("Anna") or name.startswith("Noah") or name.startswith("Justin"):
print('correct')
else:
print('false')
我需要以更好的方式编写它,例如:
myList = ['Tim', 'Anna', 'Noah', 'Justin']
name = input("type your name: ")
if name.startswith(*any name in my list*):
print('correct')
使用列表理解和任何关键字:
myList = ['Tim', 'Anna', 'Noah', 'Justin']
name = input("type your name: ")
if any([name.startswith(item) for item in myList]):
print('correct')
else:
print('false')
if
块可以从字面上解释为:
如果 name
以 myList
中的任何一项开始,则打印 'correct'
if name.startswith(("Tim", "Anna", "Noah", "Justin")):
如果它以 tuple
的任何元素开头,则为真,并且如果 tuple
像本例一样是文字,则它是在编译时生成并缓存的,因此性能好得离谱。在引擎盖下,它只是一个一个地循环,如果它被击中则短路,但你不必自己编写循环。
我需要检查输入的第一个单词是否在我的列表中
name = input("type your name: ")
if name.startswith("Tim") or name.startswith("Anna") or name.startswith("Noah") or name.startswith("Justin"):
print('correct')
else:
print('false')
我需要以更好的方式编写它,例如:
myList = ['Tim', 'Anna', 'Noah', 'Justin']
name = input("type your name: ")
if name.startswith(*any name in my list*):
print('correct')
使用列表理解和任何关键字:
myList = ['Tim', 'Anna', 'Noah', 'Justin']
name = input("type your name: ")
if any([name.startswith(item) for item in myList]):
print('correct')
else:
print('false')
if
块可以从字面上解释为:
如果 name
以 myList
中的任何一项开始,则打印 'correct'
if name.startswith(("Tim", "Anna", "Noah", "Justin")):
如果它以 tuple
的任何元素开头,则为真,并且如果 tuple
像本例一样是文字,则它是在编译时生成并缓存的,因此性能好得离谱。在引擎盖下,它只是一个一个地循环,如果它被击中则短路,但你不必自己编写循环。