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
取集合里的差集,v里有的s里没有
s= set('yfgfggcgcffxdfx sd f') v= set('hhghghg v') print(v.difference(s))
测试
D:\python\python.exe D:/untitled/dir/for.py {'h', 'v'} Process finished with exit code 0
草都可以从石头缝隙中长出来更可况你呢