如果用户输入 ex。 INF,打印列表中所有以 INF 开头的单词。我怎样才能限制只打印某些单词?
If user types ex. INF, all words that start with INF in a list are printed. How can I make a limit that only prints certain words?
我有一个包含以 "INF.." 和 "INFO.."
开头的单词的列表
当用户在"INF"中输入时,我不希望以 INFO 开头的单词也被打印出来。我怎样才能限制不打印 "info" 个字?
weirdList = {"INF432", "INF678", "INFO123", "INFO654"}
filtered_list = []
for word in weirdList
if word[0:3] == input:
filtered_list.append(word)
我希望只打印 "INF432" 和 "INF678",而不是 "INFO.." 当用户要求以 "INF"
开头的单词时
首先,weirdList
是 set
而不是 list
。您的代码不起作用的原因是因为所有元素的条件都是 True
:
'INF432'[0:3]
将输出 'INF'
'INFO123'[0:3]
也会输出 'INF'
您可以做的是过滤掉以 INFO
:
开头的项目
weirdList = {"INF432", "INF678", "INFO123", "INFO654"}
filtered_list = []
for word in weirdList:
if not word.startswith('INFO'):
filtered_list.append(word)
这也可以通过列表理解来实现:
weirdList = ["INF432", "INF678", "INFO123", "INFO654"]
filtered_list = [word for word in weirdList if not word.startswith('INFO')]
请注意,在上一个示例中,我已将 weirdList
更改为实际列表。
如果您想根据用户输入将项目添加到列表中,并忽略 INFO
个项目,您可以这样做:
user_item_list = []
user_input = input('Enter item here: ')
if not user_input.startswith('INFO'):
user_item_list.append(user_input)
print(user_item_list)
从您的示例中,我可以看出您只想保留以 "INF" 开头且后跟 numbers.For 的项目 例如 "INFO" 后跟 "INF"通过 "O"。
可以这样实现:
weirdList = {"INF432", "INF678", "INFO123", "INFO654"}
filtered_list = []
word1=input("enter something: ")
for word in weirdList:
if word.startswith(word1) and word.replace(word1,"")[0].isnumeric():
filtered_list.append(word)
print(filtered_list)
输出:
enter something: INF
['INF432', 'INF678']
此方法还消除了 "INFS01" 等,适用于 "INF" 以外的其他标准。
我有一个包含以 "INF.." 和 "INFO.."
开头的单词的列表当用户在"INF"中输入时,我不希望以 INFO 开头的单词也被打印出来。我怎样才能限制不打印 "info" 个字?
weirdList = {"INF432", "INF678", "INFO123", "INFO654"}
filtered_list = []
for word in weirdList
if word[0:3] == input:
filtered_list.append(word)
我希望只打印 "INF432" 和 "INF678",而不是 "INFO.." 当用户要求以 "INF"
开头的单词时首先,weirdList
是 set
而不是 list
。您的代码不起作用的原因是因为所有元素的条件都是 True
:
'INF432'[0:3]
将输出'INF'
'INFO123'[0:3]
也会输出'INF'
您可以做的是过滤掉以 INFO
:
weirdList = {"INF432", "INF678", "INFO123", "INFO654"}
filtered_list = []
for word in weirdList:
if not word.startswith('INFO'):
filtered_list.append(word)
这也可以通过列表理解来实现:
weirdList = ["INF432", "INF678", "INFO123", "INFO654"]
filtered_list = [word for word in weirdList if not word.startswith('INFO')]
请注意,在上一个示例中,我已将 weirdList
更改为实际列表。
如果您想根据用户输入将项目添加到列表中,并忽略 INFO
个项目,您可以这样做:
user_item_list = []
user_input = input('Enter item here: ')
if not user_input.startswith('INFO'):
user_item_list.append(user_input)
print(user_item_list)
从您的示例中,我可以看出您只想保留以 "INF" 开头且后跟 numbers.For 的项目 例如 "INFO" 后跟 "INF"通过 "O"。
可以这样实现:
weirdList = {"INF432", "INF678", "INFO123", "INFO654"}
filtered_list = []
word1=input("enter something: ")
for word in weirdList:
if word.startswith(word1) and word.replace(word1,"")[0].isnumeric():
filtered_list.append(word)
print(filtered_list)
输出:
enter something: INF
['INF432', 'INF678']
此方法还消除了 "INFS01" 等,适用于 "INF" 以外的其他标准。