#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#去重方法:
#list去重操作
# lis1 = [1,2,5,3,1,2,3,6,8]
# lis2 =
# for i in lis1 :
# if i not in lis2:
# print(lis2)
1.集合建立
s = set()#空集合
s = #注意在建立空集合的時候只能使用s=set(),因為s={}建立的是空字典
a=set('boy')
b=set(['y', 'b', 'o','o'])
c=set()
d=e=
print(a,type(a))
print(b,type(b))
print(c,type(c))
print(d,type(d))
print(e,type(e))
輸出:
2.集合元素
增加:set1.add(999)
set1.update([1,2,3])
刪除:s1.remove(777)#刪除元素,如果元素不存在會報錯
s1.pop()#刪除乙個隨機的元素,並返回刪除的元素
s1.discard('dddd')#如果刪除的元素存在,刪除,不存在不做處理
合併集合:
print(s1.union(s2))
print(s1|s2)
交集:print(s1.intersection(s2))
print(s1&s2)
#集合的兩種方式,一種通過set轉化,一種直接定義
lis = [1,2,5,3,1,2,3,6,8]
slist = set(lis)
slist2 =
s = {}#這是空字典,不是集合
s = set()#這是空集合
xn = [1,4,2,7,8]
python = [5,1,2,3,9,4]
s1 = set(xn)
s2 = set(python)
s3 =
s4 =
#並集,兩種方法
print(s1.union(s2))
print(s1|s2)
#交集,
print(s1.intersection(s2))
print(s1&s2)
print(s1 - s2)#返回s2中有s1中沒有的
print(s2 - s1)#返回s1中有s2中沒有的
print(s3.issubset(s1))#子集
print(s4.issuperset(s3))#父集
print(s1.isdisjoint(s2))#有交集返回false,沒有交集返回true
#差集print(s1.difference(s2))
#去掉相同元素,保留其他元素
print(s1.symmetric_difference(s2))
print(s1^s2)
#集合也是無序的
#集合不能直接加到集合中,要變為字串加入集合中
s1.add(999)#新增元素
s2.update([1,2,3])
s1.remove(777)#刪除元素,如果元素不存在會報錯
s1.pop()#刪除乙個隨機的元素,並返回刪除的元素
s1.discard('dddd')#如果刪除的元素存在,刪除,不存在不做處理
#非空即真,非0即真
#if 判斷時只要是空的或者是0就走else
#用集合的方式產生隨機8的密碼,並且確認密碼中包含大小寫字母和數字,生成後儲存至檔案中
# import random,string
# num = input('輸入次數:').strip()
# lis =
# pwds = set()
# if num.isdigit() :
# i = 0#while 迴圈時必須有計數器
# while i
# password = set(random.sample(string.ascii_letters+string.digits,8))
# upper_set = set(string.ascii_uppercase)
# lower_set = set(string.ascii_lowercase)
# letter_set = set(string.ascii_letters)
# set1 = password.intersection(upper_set)
# set2 = password.intersection(lower_set)
# set3 = password.intersection(letter_set)
# #判斷密碼是否即包含大小寫字元和數字的方法有如下兩種方法:
# # if len(set1)>0 and len(set2)>0 and len(set3)>0:
# # print('密碼符合要求')
# # else :
# # print('密碼不符合要求')
# if set1 and set2 and set3:
# print('密碼符合要求')
# str = ''.join(password)+'\n'
# i = i + 1
# if str not in lis :
# fw = open('pwds.txt','w')
# fw.writelines(lis)
# else:
# print('密碼不符合要求')
import random,string
num = input('輸入次數:').strip()
lis =
pwds = set()
if num.isdigit() :
while len(pwds)
password = set(random.sample(string.ascii_letters+string.digits,8))
upper_set = set(string.ascii_uppercase)
lower_set = set(string.ascii_lowercase)
letter_set = set(string.ascii_letters)
set1 = password.intersection(upper_set)
set2 = password.intersection(lower_set)
set3 = password.intersection(letter_set)
if set1 and set2 and set3:
print('密碼符合要求')
str = ''.join(password)+'\n'
pwds.add(str)
fw = open('pwds.txt','w')
fw.writelines(pwds)
else:
print('密碼不符合要求')
不重複隨機數
1 不重複隨機數1 生產 lowerbound,upperbound 的隨機數,核心 int upperbound lowerbound 1 rnd lowerbound 示例 如下 sub rndnumnorepeat1 dimdic dim i set dic createobject scri...
python 生成隨機不重複的使用者id
資料庫裡面有時候需要不重複的id 來表示使用者id,就像qq號碼一樣。如果簡單用uuid來生成的話,生成64位,太長。生成6到8位gid def generate gid gids for number in range 100000,10000000 for gid in gids index0 ...
Python生成不重複隨機值的方法
這裡從一列表中,生成不重複的隨機值 演算法實現如下 import random total 100 li i for i in range total res num 20 f程式設計客棧or i in r程式設計客棧ange num t www.cppcns.com random.randint ...