case03数据结构之集合

发布时间 2023-09-19 18:05:20作者: dogfaraway

编程提示

·需要注意在 Python 中,集合不能被截取,也不能被索引,只能进行并集、差集、交集等集合运算,同时,可以添加和删除集合元素。
·交集运算可以运用符号&,如果是求两个集合的交集也可以运用函数 intersection ;差集运算需要运用数学中的减号﹣。
·在集合中增加一个新元素可以运用函数 add ;在集合中删除元素则运用函数 discard 。

任务1

## A股证券名称
set_A = {'中国中铁','中国石油','中国人寿','中国平安','中国铝业','中国国航','中兴通讯','建设银行','华能国际','海通证券'} 
print(set_A)
{'海通证券', '中国中铁', '中国人寿', '华能国际', '建设银行', '中国平安', '中国铝业', '中兴通讯', '中国石油', '中国国航'}
type(set_A)
set
## H股证券名称
set_H = {'中国中铁','中国石油','中国人寿','中国平安','中国铝业','中国国航','中兴通讯','建设银行','汇丰控股','华能国际','海通证券','阿里巴巴'}
## 美股证券名称
set_N = {'中国石油','中国人寿','中国铝业','汇丰控股','华能国际','阿里巴巴'}

任务2

set_AHN = set_A & set_H & set_N
set_AHN  ## 同时在A港美上市的股票
{'中国人寿', '中国石油', '中国铝业', '华能国际'}
set_AH = set_A & set_H - set_N
set_AH # 在A港上市,但没有在美股上市
{'中兴通讯', '中国中铁', '中国国航', '中国平安', '建设银行', '海通证券'}
set_HN = set_H.intersection(set_N) - set_A
set_HN ## 在港美上市,但没有在A股上市
{'汇丰控股', '阿里巴巴'}

任务3

set_A.add('上海电气')
set_H.add('上海电气')
set_A.discard('中国平安')
set_H.discard('中国平安')
set_H.discard('阿里巴巴')
set_N.discard('阿里巴巴')
print(set_N)
{'中国铝业', '中国人寿', '华能国际', '中国石油', '汇丰控股'}