因此,我正在制定一个计划程序来随机安排NHL团队。我有一个来自大西洋分部的小组迷你名单:
atl_div = ["BOS", "BUF", "DET", "FLA"]
[当用户输入团队缩写时,他们得到打印的元素,减去列表中的团队,例如,如果我输入BUF
,则用户将返回:
BOS
DET
FLA
我尝试过
input_team = input("Enter a team abbrev.:")
if input_team == "BUF":
print(atl_div[~0])
但是那不起作用,因为~
用于数字而不是列表。
我必须承认我是一个新手程序员,所以如果在我的问题中听起来像这样,我深表歉意。我们都从某处开始:)
感谢您的帮助,如有必要,随时询问更多详细信息!
简单的list
理解将产生不包含不需要元素的新list
:
print([team for team in atl_div if team != input_team])
这会临时创建一个新的list
,除那些等于input_team
的元素外。如果您想从list
中永久删除有问题的元素,则可以执行以下操作:
atl_div.remove(input_team)
print(atl_div)
请注意,如果没有一个完全匹配input_team
的条目,则行为会有所不同;如果不存在匹配元素,则remove
将引发异常,并且仅当list
中的值的实例超过一个时,它才会删除一个副本。 list
理解将静默删除该值的所有副本,并且不在乎是否没有任何开头。
input_team = input('Enter a team abbrev.:')
print('\n'.join([team for team in atl_div if team != input_team]))
编辑:更新的打印格式