python set

集合(Set) #

集合是无序和无索引的集合。在 Python 中,集合用花括号编写

无法通过引用索引来访问 set 中的项目,因为 set 是无序的,项目没有索引

集合一旦创建,无法更改项目,但是可以添加新项目

import random
import time
import datetime

set1 = {random.random() * 100, time.time_ns(), datetime.datetime.year, datetime.datetime.month, datetime.datetime.day}


print(f"set1:{set1}")

for x in set1:
    print(x)


# print(set1[0])
# del set1[0]

添加 / 添加多个 #

集合不能空 否则add会出问题的

import datetime
import random

nowDate = datetime.datetime.now()

set2 = {nowDate.year, nowDate.month, nowDate.day}

print(set2)
set2.add("kk")
print(set2)

set3 = {random.random() * 100, "vvv"}
set2.update(set3)

print(set2)

pop-随机删除 #

随机删除一个元素,并且返回删除的结果。pop不能指定参数,也就是不能指定想要删除的元素

import datetime
import random

nowDate = datetime.datetime.now()

setX = {"0"}

# 集合不能空 否则add会出问题的
setX.add("hh")

setX.add(random.random())
setX.add(random.randrange(int(random.random() * 100), int(random.random() * 100)+100))
setX.add(random.randrange(int(random.random() * 99), int(random.random() * 100)+100))
setX.add(random.randrange(int(random.random() * 98), int(random.random() * 100)+100))
setX.add(random.randrange(int(random.random() * 97), int(random.random() * 100)+100))
setX.add(random.randrange(int(random.random() * 96), int(random.random() * 100)+100))
setX.add(random.randrange(int(random.random() * 95), int(random.random() * 100)+100))

print(setX)
print(setX.pop())


print(setX)

remove-指定删除 #

删除的元素必须在集合中。如果不存在,则会报错

import datetime
import random


setX = {"0","a"}


for xx in range(1, 300, 5):
    setX.add(random.randrange(int(random.random() * xx), int(random.random() * xx+100)+100))

setX.add("v")

print(setX)

setX.remove("v")

print(setX)

discard-指定删除 #

指定删除某个元素,如果元素不存在,也不会报错

set1 = {'c', 'html', 'java', 'javascript', 'python'}
print(set1)
set1.discard("1")

print(set1)

clear-清空集合 #

set1 = {'c', 'html', 'java', 'javascript', 'python'}
print(set1)
set1.discard("1")

print(set1)

set1.clear()
print(set1)

in-元素判断 #

set2 = {1,2,3}

print(f" in的用法:{1 in set2}")

union-并集 #

set1 = {2,3,4}

set2 = {4,5,6}

set3 = set1.union(set2)

print(set3)


difference-差集、补集 #


set1 = {1,2,3}

set2 = {2,3}

set3 = set1.difference(set2)

print(f"set1: {set1}")
print(f"set2: {set2}")
print(f"set3: {set3}")

intersection-交集 #

set1 = {1,2,3}

set2 = {1,2}

set3 = set1.intersection(set2)

print(f"set3: {set3}")


参考