python隨機字母不重複 python 集合初識

2021-10-11 07:28:21 字數 3547 閱讀 2224

#!/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 ...