如何解决如何使用列表理解在两个列表之间创建重复项列表?
脚本应该创建一个字符串元素列表,这些元素是通过用户输入的人名,如果他们在 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!']
解决方法
跟进 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!']
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。