一个列表中有重复元素,编写程序,移除重复元素
时间: 2023-05-01 07:03:42 浏览: 170
题意是:给定一个列表,编写程序,移除其中重复的元素。
实现代码可以参考以下示例:
```python
lst = [1, 2, 3, 1, 4, 2, 5, 6, 3]
new_lst = list(set(lst))
print(new_lst)
```
输出为:`[1, 2, 3, 4, 5, 6]`,去除了原列表中的重复元素。
相关问题
2.一个列表中有重复元素,编写程序,移除重复元素。 例如: 原本的列表:li = [1,1,1,2,2,3,2,3,4,2,3,5,4,5,4] 操作之后的列表: li = [1,2,3,4,5]
可以使用集合(set)来移除列表中的重复元素。集合是一种无序且不重复的数据结构,可以用来快速判断一个元素是否存在于集合中。我们可以将列表转换为集合,然后再将集合转换回列表,这样就可以移除重复元素。
以下是一个示例代码:
```python
li = [1, 1, 1, 2, 2, 3, 2, 3, 4, 2, 3, 5, 4, 5, 4]
li = list(set(li))
print(li) # 输出:[1, 2, 3, 4, 5]
```
在上面的代码中,我们首先将列表`li`转换为集合,这样就会自动移除重复元素。然后再将集合转换回列表,得到的就是移除重复元素后的列表。
编写程序,生成一个包含 20 个介于 1 到 50 之间随机整数的列表,将其循环左移 5 个 元素。所谓循环左移是指,每次移动时把列表最左侧的元素移出列表然后追加到列表尾部。
以下是Python实现:
```python
import random
# 生成包含 20 个介于 1 到 50 之间随机整数的列表
lst = [random.randint(1, 50) for _ in range(20)]
print("原始列表:", lst)
# 将列表循环左移 5 个元素
for _ in range(5):
lst.append(lst.pop(0))
print("循环左移后的列表:", lst)
```
输出:
```
原始列表: [19, 42, 26, 10, 23, 13, 34, 9, 25, 8, 38, 14, 36, 4, 47, 20, 25, 14, 44, 32]
循环左移后的列表: [13, 34, 9, 25, 8, 38, 14, 36, 4, 47, 20, 25, 14, 44, 32, 19, 42, 26, 10, 23]
```
首先使用列表推导式生成包含 20 个介于 1 到 50 之间随机整数的列表。然后使用 `pop()` 方法移除列表最左侧的元素,并使用 `append()` 方法将其追加到列表尾部,重复操作 5 次即可实现循环左移。最后输出循环左移后的列表。