我有一个列表,其中包含以“INF…”和“INFO…”开头的单词
当用户输入“INF”时,我不希望以INFO开头的单词也打印出来。我如何限制“信息”字不打印
weirdList = {"INF432", "INF678", "INFO123", "INFO654"}
filtered_list = []
for word in weirdList
if word[0:3] == input:
filtered_list.append(word)
我的愿望是,当用户要求以“INF”开头的单词时,只打印“INF432”和“INF678”,而不打印“INFO…”
首先,
weirdList
是set
而不是list
。代码不起作用的原因是所有元素的条件都是True
:'INF432'[0:3]
将输出'INF'
'INFO123'[0:3]
还将输出'INF'
您可以做的是过滤掉以
INFO
开头的项目:这也可以通过列表理解来实现:
注意,在我的上一个示例中,我将
weirdList
更改为实际列表如果要根据用户输入将项目添加到列表中,并忽略
INFO
项目,可以这样做:从您的示例中,我可以看出您只希望保留以“INF”开头并后跟数字的项目。例如,“INFO”是“INF”,后跟“O”
这可以通过以下方式实现:
输出:
这种方法还消除了“INFS01”等,适用于“INF”以外的其他标准
相关问题 更多 >
编程相关推荐