集合的定义,操作及运算 (Python)

集合的定义:

集合和列表([  ]) 与  字典 ( {    }) 不同,没有特别的特别的语法格式。可以使用set () 创建。

集合同字典一样是无序的。也是不具有重复性的。因此可以把列表变成集合进行去重。

集合具有特别的关系性能,交集,并集,差集等。

# hanbb come on!
list1 = [1,4,5,7,3,6,7,9]      # 列表
s1 = set(list1)                # remove repeat,such as 7  ; 自动去重 (列表转化为集合)

s2 = set([1,6,0,66,22,8,4])    # another way express set
s3 = set("hello")              # 这是字符变成集合吗?
print(s3)                                              #  {‘h‘, ‘o‘, ‘l‘, ‘e‘}
print(s2)                                              #  {0, 2, 66, 4, 6, 8, 22}
print(s1)                                              #  {1, 3, 4, 5, 6, 7, 9}

集合的基本操作:新增;移除;复制;求长度(没有修改?)

# basic operation
# Add one
s1.add(‘BB8‘)
print(s1)                                               # {1, 3, 4, 5, 6, 7, ‘BB8‘, 9}
# add more
s1.update( ["猪八戒","孙悟空"] )     # 注意[]                     # {1, ‘孙悟空‘, 3, 4, 5, 6, 7, ‘BB8‘, 9, ‘猪八戒‘}
print(s1)
# s1.update(2,4,6)
s1.update([2,4,6])                                       # {1, 2, 3, 4, 5, 6, 7, 9, ‘猪八戒‘, ‘BB8‘, ‘孙悟空‘}
print(s1)
s1.update("BB7")     # update"BB7" and add "BB8" 区别明显 # {1, 2, 3, 4, 5, 6, 7, 9, ‘7‘, ‘BB8‘, ‘孙悟空‘, ‘猪八戒‘, ‘B‘}
print(s1)

# Remove
# s1.remove("1","2","3") # 不能移除多个                  # remove() takes exactly one argument (3 given)
# s1.remove(‘1‘)         # 数据会出错,为啥呀                             # s1.remove(‘1‘)
s1.remove(‘B‘)           # 字母不会,汉字也不会                             # {1, 2, 3, 4, 5, 6, 7, 9, ‘猪八戒‘, ‘孙悟空‘, ‘BB8‘, ‘7‘}
print(s1)

# copy
s4 = s2.copy()
print(s2)

# length
print(len(s1))                                          # 12

集合的关系运算:交集,并集,差集(两个集合位置有影响),对称差集。

# relationship
print(s1.intersection(s2))                              # {1, 4, 6}
print(s1.union(s2))                                     # {0, 1, 2, 3, 4, 5, 6, 7, 66, 9, 8, ‘7‘, ‘BB8‘, 22, ‘猪八戒‘, ‘孙悟空‘}
print(s1.difference(s2))            # 在1中,不在2中      # {‘BB8‘, 2, 3, ‘7‘, 5, 7, 9, ‘孙悟空‘, ‘猪八戒‘}
print(s2.difference(s1))            # 在2中,不在1中      # {0, 8, 66, 22}
print(s1.symmetric_difference(s2))  # 对称差集(项在t或s中,但不会同时出现在二者中)   # {0, 66, 2, ‘7‘, 3, 5, 8, 7, 9, ‘孙悟空‘, 22, ‘猪八戒‘, ‘BB8‘}

集合值的访问:

# 访问集合值
print("1" in s1)                                      # False
print("BB8" in s1)                                   # True

print("1" not in s1)                                 # True

for i in s1:
    print(i)

‘‘‘1
2
3
4
5
6
7
孙悟空
9
BB8
7
猪八戒‘‘‘

集合还是比较容易理解和掌握的,还有操作符号的运算。

时间: 2024-10-24 11:31:30

集合的定义,操作及运算 (Python)的相关文章

Python 集合的定义以及常用运算及函数

定义(集合内可以有多个元素,但是每个元素都必须是不可变类型,即可hash类型,集合内的元素唯一,集合是无序的): pythons=['a','b','c','d','e','f'] s1=set('hello') print(s1,type(s1)) s={'a',3,9,'b'} #关系运算??? # print(s) #集合优先掌握的方法 pythons={'a','b','c','d','e','f'} #元素是否在集合中 print('a' not in pythons) print(p

Python 集合的各种操作 数学运算 关系操作 增删改查 生成式

# 集合是无序的 是可变的 不能重复 允许数学运算 分散存储 # 创建# collegel = {'哲学','经济学','法学','教育学'}## # {'教育学', '经济学', '法学', '哲学'}# print(collegel)## # set# collegel2 = set(['金融学','哲学','经济学','法学','教育学'])# print(collegel2)## # 使用set创建字符串集合# collegel3 = set('中华人民共和国')# # {'共', '华

python基础(集合、文件操作)

集合: 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. 1,集合的创建. set1 = set({1,2,'barry'}) set2 = {1,2,'barry'} print(set1,set2) # {1, 2, 'barry'} {1, 2, 'barry'} 2,集合的增. set1 = {'

集合的定义与并查操作

集合的定义与并查操作. 1 #define MAXN 1000 /* 集合最大元素个数 */ 2 typedef int ElementType; /* 默认元素可以用非负整数表示 */ 3 typedef int SetName; /* 默认用根结点的下标作为集合名称 */ 4 typedef ElementType SetType[MAXN]; /* 假设集合元素下标从0开始 */ 5 6 void Union( SetType S, SetName Root1, SetName Root2

python基础(集合,文件操作)

一.集合(set) 集合:1.无序的,不重复的 2.他里面的元素必须是可哈希的. int str bool () ,但是它本身是不可哈希的.   3.集合不能更改里面的元素   4.集合可以求交集,并集,差集,反交集等. 1.集合的创建 set1 = set({1,2,'alex'}) set2 = set1 print(set1,set2) # 输出结果:{1, 2, 'alex'} {1, 2, 'alex'} 2.集合的增(2种方式) 1.set1.add()(直接增加) set1 = {

【Go语言】集合与文件操作

本文目录 1.数据集合的主要操作 1_1.字典的声明 1_2.字典的初始化和创建 1_3.字典的访问和操作 1_4.其他类型的数据集 2.文件操作 2_1.文件操作概述os包和path包 2_2.文件操作示例 目录操作: 打开与建立文件: 写文件 : 读文件: 删除文件: 回到顶部 1.集合以及主要操作 首先要提到的是Go语言的内置数据类型map(字典类型 类似于Java中的HashMap和Swift中的Directory),这样你无需导入任何包便可 使用map类型了.map是一种特殊的数据结构

java 集合框架List操作

/*list 基本操作 * * List a=new List(); * 增 * a.add(index,element);按指定位置添加,其余元素依次后移 * addAll(index,Collection);在从指定位置开始添加一系列元素,其余元素依次后移 * 删 * a.remove(index);删除指定位置元素 * 改 * a.set(index,element);改变指定位置元素 * 查 * a.get(index);得到指定位置元素 * subList(from,to);返回一个L

set集合类型的操作(无序集合)——redis

1. set集合类型的操作(无序集合) 集合具有无序性(没有顺序).确定性(描述是确定的).唯一性(没有重复的元素) 1.1. sadd key member [member ...] 语法:sadd key member [member ...] 作用:往集合key中添加元素 返回值:添加元素的个数 例: 127.0.0.1:6379> sadd fruit apple banana pear (integer) 3 127.0.0.1:6379> sadd num 1 1 (integer

FLEX 集合数组ArrayCollection操作实例

FLEX 集合数组ArrayCollection操作实例 <?xml version="1.0" encoding="utf-8"?> <!-- Simple example to demonstrate the Halo DataGrid control. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="librar