python 基础之集合

集合

1
2
3
4
5
6
s=set('chen xi')
s1=['cx','ee','cx']
s2=set(s1)#set为集合
print(s2,type(s2))
s=list(s2)
print(s,type(s))

 测试

1
2
3
4
5
D:\python\python.exe D:/untitled/dir/for.py
{'cx', 'ee'} <class 'set'>
['cx', 'ee'] <class 'list'>
 
Process finished with exit code 0

  集合的创建

1
2
s=set("chenxi cx bhbhbm km")
print(s)

  测试;帮我们去重set

1
2
D:\python\python.exe D:/untitled/dir/for.py
{'h', 'k', 'c', 'x', ' ', 'n', 'e', 'm', 'b', 'i'}

   注意set必须是不可哈希的值

1
2
3
li = [[1,2],3,'huhu']
s= set(li)
print(s)

  测试报错

1
2
3
4
5
6
7
D:\python\python.exe D:/untitled/dir/for.py
Traceback (most recent call last):
  File "D:/untitled/dir/for.py", line 371, in <module>
    s= set(li)
TypeError: unhashable type: 'list'
 
Process finished with exit code 1

  判断集合是否包含指定的字符串

1
2
3
4
5
6
li = [1,2,3,'huhu']
s= set(li)
# print(s)
print(2 in s)
print(4 in s )
print('h' in s)

  测试

1
2
3
4
5
6
D:\python\python.exe D:/untitled/dir/for.py
True
False
False
 
Process finished with exit code 0

  集合更新之添加元素

1
2
3
4
5
6
7
8
9
10
li = [1,2,3,'huhu']
s= set(li)
# print(s)
# print(2 in s)
# print(4 in s )
# print('h' in s)
# print('huhu' in s)
print(s)
s.add('u')
print(s)

  测试

1
2
3
D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'huhu', 'u'}

  集合更新之添加多个元素

1
2
3
4
5
6
7
li = [1,2,3,'huhu']
s= set(li)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)

  测试

1
2
3
4
D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'huhu', 'u'}
{1, 2, 3, 'huhu', 'g', 'h', 'd', 'a', 'u', 'f', 's'}

  更新数字字母

1
2
3
4
5
6
7
8
9
li = [1,2,3,'huhu']
s= set(li)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)
s.update([12,'huhbjkjkjkjkjk'])
print(s)

  测试

1
2
3
4
5
D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'huhu', 'u'}
{1, 2, 3, 'f', 'huhu', 's', 'a', 'd', 'g', 'u', 'h'}
{1, 2, 3, 'f', 'huhu', 'huhbjkjkjkjkjk', 's', 12, 'a', 'd', 'g', 'u', 'h'}

     集合删除指定元素操作

1
2
3
4
5
6
7
8
9
10
11
li = [1,2,3,'huhu']
s= set(li)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)
s.update([12,'huhbjkjkjkjkjk'])
print(s)
s.remove(12)
print(s)

  测试

1
2
3
4
5
6
D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'huhu', 'u'}
{1, 2, 3, 'huhu', 'a', 'd', 's', 'h', 'u', 'g', 'f'}
{1, 2, 3, 'huhu', 'a', 'd', 's', 'h', 'u', 'g', 12, 'f', 'huhbjkjkjkjkjk'}
{1, 2, 3, 'huhu', 'a', 'd', 's', 'h', 'u', 'g', 'f', 'huhbjkjkjkjkjk'}

  集合之删除随意元素

1
2
3
4
5
6
7
8
9
10
11
12
13
li = [1,2,3,'huhu']
s= set(li)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)
s.update([12,'huhbjkjkjkjkjk'])
print(s)
s.remove(12)
print(s)
s.pop()
print(s)

  测试

1
2
3
4
5
6
7
D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'u', 'huhu'}
{1, 2, 3, 'a', 'h', 'd', 'u', 'f', 'huhu', 'g', 's'}
{1, 2, 3, 'a', 'h', 'd', 12, 'u', 'f', 'huhu', 'huhbjkjkjkjkjk', 'g', 's'}
{1, 2, 3, 'a', 'h', 'd', 'u', 'f', 'huhu', 'huhbjkjkjkjkjk', 'g', 's'}
{2, 3, 'a', 'h', 'd', 'u', 'f', 'huhu', 'huhbjkjkjkjkjk', 'g', 's'}

  清空集合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
li = [1,2,3,'huhu']
s= set(li)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)
s.update([12,'huhbjkjkjkjkjk'])
print(s)
s.remove(12)
print(s)
s.pop()
print(s)
s.clear()<br>print(s)

  测试

1
2
3
4
5
6
7
8
9
10
D:\python\python.exe D:/untitled/dir/for.py
{1, 2, 3, 'huhu'}
{1, 2, 3, 'huhu', 'u'}
{1, 2, 3, 's', 'f', 'a', 'd', 'g', 'huhu', 'h', 'u'}
{1, 2, 3, 's', 'f', 'a', 'huhbjkjkjkjkjk', 'd', 'g', 12, 'huhu', 'h', 'u'}
{1, 2, 3, 's', 'f', 'a', 'huhbjkjkjkjkjk', 'd', 'g', 'huhu', 'h', 'u'}
{2, 3, 's', 'f', 'a', 'huhbjkjkjkjkjk', 'd', 'g', 'huhu', 'h', 'u'}
set()
 
Process finished with exit code 0

 删除集合

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
li = [1,2,3,'huhu']
s= set(li)
# print(s)
# print(2 in s)
# print(4 in s )
# print('h' in s)
# print('huhu' in s)
print(s)
s.add('u')
print(s)
s.update('asdfgh')
print(s)
s.update([12,'huhbjkjkjkjkjk'])
print(s)
s.remove(12)
print(s)
s.pop()
print(s)
s.clear()
print(s)
del s
print(s)

  测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
D:\python\python.exe D:/untitled/dir/for.py
Traceback (most recent call last):
{'huhu', 1, 2, 3}
  File "D:/untitled/dir/for.py", line 391, in <module>
{1, 2, 3, 'u', 'huhu'}
    print(s)
{'s', 1, 2, 3, 'a', 'd', 'h', 'u', 'huhu', 'f', 'g'}
NameError: name 's' is not defined
{'s', 1, 2, 3, 'a', 'd', 12, 'h', 'u', 'huhu', 'huhbjkjkjkjkjk', 'f', 'g'}
{'s', 1, 2, 3, 'a', 'd', 'h', 'u', 'huhu', 'huhbjkjkjkjkjk', 'f', 'g'}
{1, 2, 3, 'a', 'd', 'h', 'u', 'huhu', 'huhbjkjkjkjkjk', 'f', 'g'}
set()
 
Process finished with exit code 1

  比较两个集合是否相同

1
print(set('chenxi')==set('cheeennnxxxi'))

  测试

1
2
3
4
D:\python\python.exe D:/untitled/dir/for.py
True
 
Process finished with exit code 0

  判断第一个集合是否被第二个集合包含;如果完全一样打印

1
2
print(set('chenxi')==set('cheeennnxxxi'))
print(set('cx')<set('chenxigg'))

  测试

1
2
3
D:\python\python.exe D:/untitled/dir/for.py
True
True

  判断第一个集合是否被第二个集合包含;如果完全一样打印

1
2
3
print(set('chenxi')==set('cheeennnxxxi'))
print(set('cx')<set('chenxigg'))
print(set('cx')<set('cx'))

  测试

1
2
3
4
5
6
D:\python\python.exe D:/untitled/dir/for.py
True
True
False
 
Process finished with exit code 0

  取两个都有的元素

1
print(set('yfgfggcgcffxdfx sd f') & set('hhghghg v'))

  测试

1
{' ', 'g'}

  取并集,取两个集合都包括的。只有有一个集合包含的就打印

1
print(set('yfgfggcgcffxdfx sd f') | set('hhghghg v'))

  测试

1
2
3
D:\python\python.exe D:/untitled/dir/for.py
{' ', 'g'}
{' ', 'h', 'd', 's', 'g', 'y', 'f', 'c', 'x', 'v'}

  取交集的另一给个方法

1
2
3
s= set('yfgfggcgcffxdfx sd f')
v= set('hhghghg v')
print(s.intersection(v))

  测试

1
2
3
4
D:\python\python.exe D:/untitled/dir/for.py
{' ', 'g'}
 
Process finished with exit code 0

  取并集

1
2
3
s= set('yfgfggcgcffxdfx sd f')
v= set('hhghghg v')
print(s.union(v))

  测试

1
2
3
4
D:\python\python.exe D:/untitled/dir/for.py
{'g', 'f', 'c', 'y', 'h', ' ', 'v', 'd', 's', 'x'}
 
Process finished with exit code 0

  取集合里的差集,s里有的v里没有的

1
2
3
s= set('yfgfggcgcffxdfx sd f')
v= set('hhghghg v')
print(s.difference(v))

  测试

1
2
3
4
D:\python\python.exe D:/untitled/dir/for.py
{'s', 'x', 'c', 'y', 'f', 'd'}
 
Process finished with exit code 0

  取集合里的差集,v里有的s里没有

1
2
3
s= set('yfgfggcgcffxdfx sd f')
v= set('hhghghg v')
print(v.difference(s))

  测试

1
2
3
4
D:\python\python.exe D:/untitled/dir/for.py
{'h', 'v'}
 
Process finished with exit code 0

  

 

  

 

 

posted @   烟雨楼台,行云流水  阅读(190)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示