【发布时间】:2021-02-22 02:51:04
【问题描述】:
该脚本应该通过用户输入创建一个字符串元素列表,这些元素是人们的姓名,如果他们在 vip 列表中,则向他们打招呼。我尝试在名称列表和贵宾列表之间创建一个包含重复元素的列表,以便将新列表存储在变量 temp 中,以便可以打印出问候语。但它没有用。
我的尝试: #!/usr/bin/python3
mylist = input("Enter list of names separated by comma: ").split(",")
vip = ['Tom', 'Howard', 'Alice', 'Peter', 'Maria']
temp = [x for x in vip if x in mylist]
print([f"Hello {myvar}!" for myvar in temp])
用户输入'Alice, Robert, Maria, Peter, Jen' 的当前行为:
['Hello Alice!']
预期行为:
['Hello Alice!', 'Hello Maria!', 'Hello Peter!']
【问题讨论】:
-
split(', ')而不是split(',') -
欢迎来到 SO!您可能想在这里使用正则表达式
re.split(r" *, *", mylist)(这些名称在,上拆分后有空格!),但是,请始终记住falsehoods programmers believe about names。这打破了"Sammy Davis, Jr."。 -
您也可以在拆分值后调用
strip()。
标签: python python-3.x list list-comprehension