目录
基础知识
1. 列表是什么
biclye = ['lisy','cannondale','redline']
print(biclye)
['lisy', 'cannondale', 'redline']
1.1 访问列表元素
biclye = ['lisy','cannondale','redline']
print(biclye[0])
lisy
1.2 索引从0而不是1开始
biclye = ['lisy','cannondale','redline']
print(biclye[1])
cannondale
1.3 索引可以为负值
biclye = ['lisy','cannondale','redline']
print(biclye[-1])
redline
2.列表中的方法
2.1 添加元素
2.1.1 在列表末尾插入从末尾插入
biclye = ['lisy','cannondale','redline']
biclye.append("ducati")
print(biclye)
['lisy', 'cannondale', 'redline', 'ducati']
2.1.2 在列表中间插入
biclye = ['lisy','cannondale','redline']
biclye.insert(2,'jack')
print(biclye)
['lisy', 'cannondale', 'jack', 'redline']
3. 删除元素
3.1 del删除
biclye = ['lisy','cannondale','redline']
del biclye[0]
print(biclye)
['cannondale', 'redline']
3.2 pop删除
biclye = ['lisy','cannondale','redline']
# pop的返回值是删除的元素,默认从末尾删除
poped_motorcycles = biclye.pop()
print(biclye)
print(poped_motorcycles)
['lisy', 'cannondale']
redline
练习题
1.列表去重
city = [‘上海’, “广州”, “上海”, “成都”, “上海”, “上海”, “北京”, “上海”, “广州”, “北京”, “上海”]
(1)以city列表为操作数据,对列表数据进行去重处理
(2)打印输出去重后的列表
city = ['上海', "广州", "上海", "成都", "上海", "上海", "北京", "上海", "广州", "北京", "上海"]
list = set(city)
print(list)
{'上海', '广州', '北京', '成都'}
2. 基本数值统计计算
from math import sqrt
def getn():
nums=[]
str=input("请输入数字(回车退出):")
while str!="":
nums.append(eval(str))
str=input("请输入数字(回车退出):")
return nums
def mide(num):
s=0.0
for n in num:
s=s+n
return s/len(num)
def dev(num,m):
sd=0.0
for n in num:
sd=sd+(n-m)**2
return sqrt(sd/(len(num)-1))
def med(num):
new=sorted(num)
lng=len(num)
if lng%2==0:
md=(new[lng//2-1]+new[lng//2])/2
else:
md=new[lng//2]
return md
n=getn()
m=mide(n)
print("平均值:{},标准差:{:.2},中位数{}".format(m,dev(n,m),med(n)))
请输入数字(回车退出):2
请输入数字(回车退出):3
请输入数字(回车退出):6
请输入数字(回车退出):
平均值:3.6666666666666665,标准差:2.1,中位数3
3. 数据清洗
去除数据中的空字符串
、None
、特殊符号等,只留下单词及序号,并去重。
原始数据:
[" pizza,100001"," None"," alex,100002 “,“egon,100003”,” ",“egg,100004+pig,100005”]
清洗后数据:
[‘pizza,100001’, ‘pig,100005’, ‘alex,100002’, ‘egg,100004’, ‘egon,100003’]
content=[" pizza,100001"," None"," alex,100002 ","egon,100003"," ","egg,100004+pig,100005"]
total_list=[]
for i in content:
temp_str=i.strip()
if temp_str=="None"or temp_str=="":
pass
else:
listl = temp_str .split("+")
total_list.extend(listl)
new_list = list(set(total_list))
print(new_list)
['pizza,100001', 'alex,100002', 'egon,100003', 'egg,100004', 'pig,100005']
4. 密码生成器
密码必须包含大小写字母、特殊字符、数字 p密码位数:8-20位不等
要求同时产生100个密码到列表
打印输出所有密码
import random
def password_generation(password_length):
result = []
for i in range(password_length):
if i % 4 == 2:
result.append(random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))
if i % 4 == 0:
result.append(random.choice('1234567890'))
if i % 4 == 1:
result.append(random.choice('abcdefghijklmnopqrstuvwxyz'))
if i % 4 == 3:
result.append(random.choice('!$%()+,-.:;>?@[]`{}'))
random.shuffle(result)
result_str="".join(result)
return result_str
def pwd_generation(num):
pwd_list=[]
for n in range(num):
pwd_length=random.randint(8,21)
pwd=password_generation(pwd_length)
pwd_list.append(pwd)
pwd_set=set(pwd_list)
pwd_list1=list(pwd_set)
return pwd_list1
pwd_list_make1=pwd_generation(100)
for pwd in pwd_list_make1:
print(pwd)
@j0S53La)
8Q-Y9Fi3ru%7f(.K
?+3pPp[4TQqC7$1r
O7:u81hYW9mD$>r}0nI
:mS3]4w+2bnLc6K0L.
YTbt26{xJ6,[Y2a[X@o4
4A[!f8Yh
L>Hj>6q7Ee1
3O8hCn`0@Eg
9Tb[6?Kf
,8]gz6NBu7Pq0%
7TgqK:aI`90
%l1b82pVJL{
8)AwI6]p
Rcyf@[L29@2]F4nV
9flOX6`2n.Y
v0rN25v?:I
a3d1D[X}o1
Xw1-m124)U.f:3JFywT
qMKt?{58W.1dbK7
f0Ts3Ex4k%T09N!$5Q;q>
1kc3SuD{?0
,+1DpL020MS8wdn?)
{803H>eT8r]kff4GQK!
>Zt3z8(W-[3sPlD6
Kb77`b7D)
n7Z@qN86v(X
CKx4k,93jj2J!>+K
wf8JaG,5%T$5Ue6}
`0HL3J-[86ngu
B(ktl>-n84S!2U3H
rpEi}![6h8M2y8VP5M[:5
V7,6d?J0z(Bg(oB9+12Ey
iALd5L1z9?.
P`$@;aoctTXe6743{MH9
w8R73]}2HypQ0Re>q)
%3IaE7s?e3M@qM0
Rs4w;M)1i80j?2CPk.
:lX1.4Wj
6DGEu`f.0r5d3]
52vt(P.F
R8;8Or%h2
EfW+g4Cg3[9
o8{Gt7Lv).5ZIr9%)Z1m
KpS:p7;]87$Mp33auHE(
n3P,M22m{
daP6Fn35}`
M,o49r6+B
bAz%%Oi0.C90
{nV5,x39YhG
157%fwL$;U96Ty]Tkh
kHjG+h`>{H525p7s1L
00zY)2Ap)
n0>{9AC2uj
O3v-2gP%8
J5,B3o+b
+82JciXu6?
I}f5;p6Q
hWw1m6`[9mNS?P`7
Ip+W,E:c3706s
`J;8s1+lDAB25Gv;0@lz
kyH29N9@(}gmHq%%U4E7
Asu)H]l?4H3O466cn+
U?Q47).L6gls
}a9N,nKA$8-ow4C4
99B41>ky@ERH(?u8m
k++2la?rVe492C4I;O
VBtD0Bv.43K`56ek0!x`>
H9@Yo@sPgT4.6d4]16;iP
a;Fj!G38
1nr>Rz6E,06gUc!0)O6L.
R7v!9M2}i
``rf2Ut6xX1})63YYc)S
nRgEG`854%ac0U@;xZ0
]b87$P8vZx
(p4!4VxD
4T2%Mi,z1f
q9R0!aSe%U0]
i6?LJ:w28q
Jqx2{X%):1k9N96lK
24Oq@j{q5C17Md-;C
0.wV)K91n
o6ptJg,l%2R]757L!M
46ecCU+>5y
BrwN;!992d
l3f0Tst$J65P:Z)
3Fho4Suh})@5$O90U
3nLD5Zysc31(@(C
b5J[?m053Ze`lY2X!
-5igQ7hR8X;]7Mo9!k
Jd3Rl5j@9!
q9{iu]OE58l6V,
1[LzihU0@R,M17be]2
GQa0.8b$1Kq
%3Xlt0y[%27AdB
%VY40a6?v
,4CUh!4Z;ypz7B5N6>7p>
W?w1(P{3z(zG89Pc
n4@2q]dc+3M3GC0uQ,
2%u:7L5yJ