输入一个列表,去掉列表中重复的数字,按原来次序输出!
时间: 2023-05-29 22:04:29 浏览: 216
可以使用一个空列表和一个字典来实现去重并保持原来的次序。
具体步骤如下:
1. 定义一个空的列表 `new_list`,用于存储去重后的数字。
2. 定义一个空的字典 `seen`,用于存储已经出现过的数字。
3. 遍历原始列表 `old_list` 中的每个数字:
- 如果该数字在字典 `seen` 中未出现过,将该数字添加到 `new_list` 中,并将其在 `seen` 中对应的值设为 `True`。
- 如果该数字在字典 `seen` 中已经出现过,跳过该数字。
4. 返回 `new_list`,即为去重后的列表。
代码实现如下:
```python
def remove_duplicates(old_list):
new_list = []
seen = {}
for num in old_list:
if num not in seen:
new_list.append(num)
seen[num] = True
return new_list
```
使用示例:
```python
old_list = [1, 2, 3, 2, 4, 3, 5, 6, 5]
new_list = remove_duplicates(old_list)
print(new_list) # 输出 [1, 2, 3, 4, 5, 6]
```
相关问题
python输入一个列表,去掉列表中重复的数字,按原来次序输出!
请问你想得到的输入和输出是什么?
如果你想输入一个列表,然后去掉列表中重复的数字,按原来的顺序输出,可以按如下方式实现:
1. 使用 set 去掉列表中的重复数字
2. 将去重后的 set 转换为列表
3. 按原来的顺序输出列表
下面是示例代码:
```python
# 输入一个列表
lst = [1, 2, 3, 2, 1, 4]
# 去掉重复数字,并转换为列表
lst_no_duplicate = list(set(lst))
# 按原来的顺序输出
for i in lst:
if i in lst_no_duplicate:
print(i)
lst_no_duplicate.remove(i)
```
上面的代码输出的结果是:
```
1
2
3
4
```
希望对你有所帮助!
python代码输入一个列表,去掉列表中重复的数字,按原来次序输出!
可以使用集合和列表来实现,具体代码如下:
```python
def remove_duplicates(lst):
"""
去除列表中的重复元素并按原来次序输出
"""
seen = set()
result = []
for item in lst:
if item not in seen:
seen.add(item)
result.append(item)
return result
# 示例
lst = [1, 2, 3, 2, 4, 3, 5, 6, 5]
print(remove_duplicates(lst)) # 输出 [1, 2, 3, 4, 5, 6]
```
在这个函数中,我们使用了一个集合 `seen` 来记录已经出现过的元素,如果一个元素不在集合中,那么就说明它是第一次出现,将其添加到 `result` 列表中,同时也将其添加到 `seen` 集合中。最后返回 `result` 列表即可。
阅读全文