如何使用列表理解在两个列表之间创建重复项列表?
how to create a list of duplicated items between two lists using list comprehension?
该脚本应该创建一个字符串元素列表,这些元素是通过用户输入的人名,如果他们在贵宾列表中,就会问候他们。我试图创建一个列表,其中包含名称列表和 vips 列表之间的重复元素,以便将新列表存储在变量 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!']
跟进 Mark M 的评论:
mylist = [x.strip() for x in input("Enter list of names separated by comma: ").split(",")]
您只需对代码进行少量更改。一种是 split(", ")。
另一个是列表理解。
mylist = input("Enter list of names separated by comma: ").split(", ")
vip = ['Tom', 'Howard', 'Alice', 'Peter', 'Maria']
temp = [name for name in mylist if name in vip]
print([f"Hello {myvar}!" for myvar in temp])
给予
['Hello Alice!', 'Hello Maria!', 'Hello Peter!']
谢谢。
该脚本应该创建一个字符串元素列表,这些元素是通过用户输入的人名,如果他们在贵宾列表中,就会问候他们。我试图创建一个列表,其中包含名称列表和 vips 列表之间的重复元素,以便将新列表存储在变量 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!']
跟进 Mark M 的评论:
mylist = [x.strip() for x in input("Enter list of names separated by comma: ").split(",")]
您只需对代码进行少量更改。一种是 split(", ")。 另一个是列表理解。
mylist = input("Enter list of names separated by comma: ").split(", ")
vip = ['Tom', 'Howard', 'Alice', 'Peter', 'Maria']
temp = [name for name in mylist if name in vip]
print([f"Hello {myvar}!" for myvar in temp])
给予
['Hello Alice!', 'Hello Maria!', 'Hello Peter!']
谢谢。