python 基础之集合

集合

s=set('chen xi')
s1=['cx','ee','cx']
s2=set(s1)#set为集合
print(s2,type(s2))
s=list(s2)
print(s,type(s))

 测试

D:\python\python.exe D:/untitled/dir/for.py
{'cx', 'ee'} <class 'set'>
['cx', 'ee'] <class 'list'>

Process finished with exit code 0

  集合的创建

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

  测试;帮我们去重set

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

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

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

  测试报错

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

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

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

  测试

D:\python\python.exe D:/untitled/dir/for.py
True
False
False

Process finished with exit code 0

  集合更新之添加元素

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)

  测试

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

  集合更新之添加多个元素

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

  测试

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'}

  更新数字字母

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)

  测试

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'}

     集合删除指定元素操作

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)

  测试

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'}

  集合之删除随意元素

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)

  测试

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'}

  清空集合

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()
print(s)

  测试

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

 删除集合

 

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)

  测试

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

  比较两个集合是否相同

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

  测试

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

Process finished with exit code 0

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

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

  测试

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

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

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

  测试

D:\python\python.exe D:/untitled/dir/for.py
True
True
False

Process finished with exit code 0

  取两个都有的元素

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

  测试

{' ', 'g'}

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

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

  测试

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

  取交集的另一给个方法

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

  测试

D:\python\python.exe D:/untitled/dir/for.py
{' ', 'g'}

Process finished with exit code 0

  取并集

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

  测试

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里没有的

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

  测试

D:\python\python.exe D:/untitled/dir/for.py
{'s', 'x', 'c', 'y', 'f', 'd'}

Process finished with exit code 0

  

  

 

猜你喜欢

转载自www.cnblogs.com/rdchenxi/p/11130691.html