输入一系列以逗号分隔的英文人名,其中包含重复的名字,请将其中重复的名字去掉,输出包含不重复人名的列表,名字出现顺序与输入顺序相同。
输入格式:
一系列英文人名,以逗号间隔。
输出格式:
包含不重复人名的列表,名字出现顺序与输入顺序相同。
输入样例:
在这里给出一组输入。例如:
Calvin,bob,ada,McCord,Smith,Babbs,Calvin,Smith
输出样例:
在这里给出相应的输出。例如:
['Calvin', 'bob', 'ada', 'McCord', 'Smith', 'Babbs']
我的答案:
这道题似乎没有更多解决方法了
方法一:
name = input().split(",")
listA = []
for i in name:
if (i not in listA):
listA.append(i)
print(listA)
方法二:
from collections import OrderedDict
names = input().split(',')
unique_names = list(OrderedDict.fromkeys(names))
print(unique_names)
OrderedDict.fromkeys()
是 Python 中 collections
模块提供的 OrderedDict
类的一个方法,用于创建一个新的 OrderedDict
对象,其中键来自给定的可迭代对象,而值都设置为同一个默认值
语法:
OrderedDict.fromkeys(iterable, value=None)
参数:
iterable
: 一个可迭代对象,例如列表、元组、字符串等,它包含了新OrderedDict
对象的键。value
: 可选参数,指定新OrderedDict
对象中所有键对应的默认值。如果未指定,则默认为None
。
返回值:
- 返回一个新的
OrderedDict
对象,其中键来自iterable
对象,值都设置为value
。