生信喵 发表于 2024-4-16 19:08:38

集合

![](https://files.mdnice.com/user/47194/8d13c60d-023e-44fb-8d96-26da2fcf53c3.gif)

# 目标

- 创建集合
- 集合数据的特点
- 集合的常见操作

![](https://files.mdnice.com/user/47194/2604d117-7783-44a6-be59-a9bd4f8e5bf0.gif)

# 一、创建集合

创建集合使用 `{}`或 `set()`, 但是如果要创建空集合只能使用 `set()`,因为 `{}`用来创建空字典。

```python
s1 = {10, 20, 30, 40, 50}
print(s1)

s2 = {10, 30, 20, 10, 30, 40, 30, 50}
print(s2)

s3 = set('abcdefg')
print(s3)

s4 = set()
print(type(s4))# set

s5 = {}
print(type(s5))# dict
```

> 特点:
>
> 1. 集合可以去掉重复数据;
> 2. 集合数据是无序的,故不支持下标

# 二、集合常见操作方法

## 2.1 增加数据

- add()

```python
s1 = {10, 20}
s1.add(100)
s1.add(10)
print(s1)# {100, 10, 20}
```

> 因为集合有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。

- update(), 追加的数据是序列。

```python
s1 = {10, 20}
# s1.update(100)# 报错
s1.update()
s1.update('abc')
print(s1)
```

## 2.2 删除数据

- remove(),删除集合中的指定数据,如果数据不存在则报错。

```python
s1 = {10, 20}

s1.remove(10)
print(s1)

s1.remove(10)# 报错
print(s1)
```

- discard(),删除集合中的指定数据,如果数据不存在也不会报错。

```python
s1 = {10, 20}

s1.discard(10)
print(s1)

s1.discard(10)
print(s1)
```

- pop(),随机删除集合中的某个数据,并返回这个数据。

```python
s1 = {10, 20, 30, 40, 50}

del_num = s1.pop()
print(del_num)
print(s1)
```

## 2.3 查找数据

- in:判断数据在集合序列
- not in:判断数据不在集合序列

```python
s1 = {10, 20, 30, 40, 50}

print(10 in s1)
print(10 not in s1)
```

# 三、总结

- 创建集合

- 有数据集合

```python
s1 = {数据1, 数据2, ...}
```

- 无数据集合

```python
s1 = set()
```
- 常见操作

- 增加数据
    - add()
    - update()
- 删除数据
    - remove()
    - discard()
页: [1]
查看完整版本: 集合