python数据结构set练习
时间: 2023-11-21 20:56:50 浏览: 43
Python中的set是一种无序且不重复的数据结构,可以用于快速查找和去重。下面是一些Python数据结构set的练习:
1. 创建一个set并添加元素
```python
my_set = set()
my_set.add(1)
my_set.add(2)
my_set.add(3)
print(my_set) # 输出:{1, 2, 3}
```
2. 从列表中创建一个set
```python
my_list = [1, 2, 3, 3, 4, 5, 5]
my_set = set(my_list)
print(my_set) # 输出:{1, 2, 3, 4, 5}
```
3. 从两个set中获取交集、并集和差集
```python
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
intersection = set1.intersection(set2)
union = set1.union(set2)
difference = set1.difference(set2)
print(intersection) # 输出:{4, 5}
print(union) # 输出:{1, 2, 3, 4, 5, 6, 7, 8}
print(difference) # 输出:{1, 2, 3}
```
4. 从set中删除元素
```python
my_set = {1, 2, 3, 4, 5}
my_set.remove(3)
print(my_set) # 输出:{1, 2, 4, 5}
```
相关问题
python数据结构与算法教程
Python 是一种流行的编程语言,非常适合用于数据结构和算法的学习。以下是一些 Python 数据结构和算法的教程资源:
1. Python 数据结构和算法的官方文档:https://docs.python.org/3/tutorial/datastructures.html
2. Python 数据结构和算法的教程:https://www.tutorialspoint.com/python_data_structure/index.htm
3. Python 数据结构和算法的书籍:《Python 算法:从入门到实践》和《数据结构与算法 Python 语言描述》
4. Python 数据结构和算法的在线课程:https://www.udemy.com/topic/data-structures-in-python/
5. 演示 Python 数据结构和算法的网站:https://visualgo.net/en
6. Python 数据结构和算法的练习题:https://leetcode.com/problemset/all/
划分数据集python代码
以下是一个简单的Python代码示例,用于将数据集划分为训练集、验证集和测试集:
```python
import numpy as np
import os
# 设置数据集路径
data_dir = '/path/to/dataset'
# 定义训练,验证和测试集比例
train_ratio = 0.8
val_ratio = 0.1
test_ratio = 0.1
# 获取所有文件名和标签
data_files = os.listdir(data_dir)
data_labels = [filename.split('_')[0] for filename in data_files]
# 将标签转换为数字编码
label_set = set(data_labels)
label_dict = {label: i for i, label in enumerate(label_set)}
data_labels = [label_dict[label] for label in data_labels]
# 将数据和标签合并为元组
data_tuples = list(zip(data_files, data_labels))
# 打乱数据集
np.random.shuffle(data_tuples)
# 计算划分点
train_point = int(len(data_tuples) * train_ratio)
val_point = int(len(data_tuples) * (train_ratio + val_ratio))
# 划分数据集
train_data = data_tuples[:train_point]
val_data = data_tuples[train_point:val_point]
test_data = data_tuples[val_point:]
# 保存划分后的数据集
np.save(os.path.join(data_dir, 'train_data.npy'), train_data)
np.save(os.path.join(data_dir, 'val_data.npy'), val_data)
np.save(os.path.join(data_dir, 'test_data.npy'), test_data)
```
在此示例中,我们使用NumPy和os模块来处理数据集文件和标签,然后使用Python的随机模块打乱数据集。我们还定义了三个比例来分配数据集中的每个部分,并计算用于划分数据集的索引点。最后,我们将划分后的数据集保存为NumPy数组。您可以根据自己的需求和数据集结构修改此代码示例。