输入一系列以逗号分隔的英文人名,其中包含重复的名字,请将其中重复的名字去掉,输出包含不重复人名的列表,名字出现顺序与输入顺序相同。python
时间: 2024-02-13 19:06:31 浏览: 173
好的,可以使用Python中的set()函数来实现列表去重,然后再按照输入顺序将其输出。下面是代码示例:
```python
names = input("请输入一系列以逗号分隔的英文人名:")
names_list = names.split(",") # 将输入的字符串转换成列表
# 使用set()函数去重,并将其转换回列表
unique_names = list(set(names_list))
# 按照输入顺序输出不重复的人名
result = []
for name in names_list:
if name in unique_names:
result.append(name)
unique_names.remove(name)
print(result)
```
这段代码中,首先将输入的人名字符串转换成列表。然后使用set()函数对列表进行去重操作,得到不重复的人名集合。接着,按照输入顺序遍历原始列表,将不重复的人名添加到结果列表中,并从集合中删除对应的人名,以确保不会输出重复的名字。最后输出结果列表即可。
相关问题
列表去重 描述 输入一系列以逗号分隔的英文人名,其中包含重复的名字,请将其中重复的名字去掉,输出包含不重复人名的列表,名字出现顺序与输入顺序相同。 输入 一系列以逗号分隔的英文人名 输出 包含不重复人名的列表,名字出现顺序与输入顺序相同 示例 1 输入:Calvin,bob,ada,McCord,Smith,Babbs,Calvin,Smith 输出:['Cal
vin', 'bob', 'ada', 'McCord', 'Smith', 'Babbs']
这道题可以使用 Python 的 set 集合来实现去重,再将结果转换为列表,并保持原有顺序。具体代码如下:
```python
names = input().split(',') # 输入一系列以逗号分隔的英文人名
unique_names = list(set(names)) # 使用 set 去重,并转换为列表
unique_names.sort(key=names.index) # 保持原有顺序
print(unique_names) # 输出包含不重复人名的列表
```
使用示例:
输入:Calvin,bob,ada,McCord,Smith,Babbs,Calvin,Smith
输出:['Calvin', 'bob', 'ada', 'McCord', 'Smith', 'Babbs']
Python 输入一系列以逗号分隔的英文人名,其中包含重复的名字,请将其中重复的名字去掉,输出包含不重复人名的列表,名字顺序与输入顺序相同
好的,可以使用 Python 的 set 和 list 数据类型来实现去重。具体的代码如下所示:
```python
names = input("请输入一系列以逗号分隔的英文人名:")
names_list = names.split(",") # 将输入的人名转换为列表
result = []
seen = set() # 用于记录已经出现过的人名
for name in names_list:
if name not in seen: # 如果该人名没有出现过,则添加到结果列表和已出现集合
result.append(name)
seen.add(name)
print(result)
```
以上代码中,我们首先使用 `split` 方法将输入的人名以逗号为分隔符转换为列表。然后,我们定义了一个空的结果列表 `result` 和一个空的集合 `seen`,用于记录已经出现过的人名。接下来,我们遍历输入的人名列表,如果该人名没有出现过,则将其添加到结果列表和已出现集合中。最后,我们输出结果列表即可。
需要注意的是,输入的人名中可能会存在空格,所以在使用 `split` 方法时,我们没有指定分隔符,这样可以自动去除空格。
阅读全文