类型转换
int(“100”)—>100
字符串组成
a = “qwe”
b = “asd”
c = a+b —>c = “qweasd”
c = “%”%(a+b) —>c = “qweasd”
下标
name = “qweasd”
name[0] —> “q” #0就是下标
name[6] —> 会提示越界
len(name) —> 6 #name长度
name[len(name)-1] 和 name[-1] 效果一样取最后一位
切片
name[1:10:3] #
1为起始位置10为终止位置3位步长
name[1:3] —>”we" # 取下标1、2两位,
3不取
name[3:-1] —>”as” #取下标3到倒数第二个,最后一位不取
name[3:] —>”asd” #取下标3到最后
name[1:6:2] —>”wad” #从下标1取到最后,切步长为2
name[::-1] —>”dsaewq” #逆序,与name[-1::-1] 一样
常见操作
name 和 a 的值并不会做改变
find 查找
name.find(“a”) —>3 #”a”的下标
name.find(“z”) —>-1 #”z”不在其中会返回-1
name.rfind #
从右边开始查找第一个出现的位置(下表仍然从左开始计数)
name.index #与name.find一致 (不在其中会报异常)
name.rindex #与name.rfind一致 (不在其中会报异常)
count 次数
name.count(“q”) —>1 #”q”出现的次数(不存在即为0)
replace 替换
name.replace(“qwe”,”123”) —> “123asd” #
将name中从左至右所有’qwe’替换为’123’
a=“name age apple"
a.replace(“a”,”1”,
2) —>”n1me 1ge apple” —>
将name中从左至右 2个 ’a’替换为’1’
split 切割
a.split(“ “) —>['name',age',’apple’] #以“”为分割成有字符串组成的列表
capitalize 首字母大写
a.capitalize() —>”Name age apple”
title 所有单词首字母大写
a.title() —> “Name Age Apple”
starwith 判断以。。。开头 (区分大小写) a.starwith(“n")
endwith 判断以。。。结尾 (区分大小写) a.endwith(“e")
lower 所有字母小写
upper 所有字母大写
ljust 左边填充空格 name.ljust(10)
rjust 右边填充空格 name.rjust(10)
center 两边填充空格 name.center(10)
lstrip 左边空格去掉
rstrip 右边空格去掉
strip 两边空格全去掉
partiton
b = “qweqweqwe"
b.partiton(“w”) —> (‘q’,’w’,’eqweqwe’) #从左开始以“w”为分割为三部分组成元组
rpartiton
b.rpartiton(“a”) —>(‘qweqweq’,’w’,’e’) #从右开始以“w”为分割为三部分组成元组
splitlines 以\n(换行符)分割
isdigit 判断字符串是不是数字组成
isalpha 判断字符串是不是字母组成
isalnum 判断字符串是不是数字或者字母组成
Isspace 判断字符串是不是空格组成
join 在每个字符后插入
列表 — 增删改查
添加新的元素
append()
insert()
extend()
In [
1
]:
names = [
'赵'
,
'钱'
,
'孙'
,
'李'
]
In [
2
]:
names[
3
]
Out[
2
]:
'李'
In [
3
]:
names.append(
'孙悟空’
)
#追加
In [
4
]:
names
Out[
4
]:
['赵', '钱', '孙', '李', '孙悟空']
In [
5
]:
names.insert(
1
,
'猪八戒'
)
#位置,添加的内容
In [
6
]:
names
Out[
6
]:
['赵', '猪八戒', '钱', '孙', '李', '孙悟空']
In [
7
]:
n1 = names
In [
8
]:
n2 = names
In [
9
]:
names = n1 +n2
In [
10
]:
names
Out[
10
]:
['赵', '猪八戒', '钱', '孙', '李', '孙悟空', '赵', '猪八戒', '钱', '孙', '李', '孙悟空']
In [
24
]:
names = [
'赵'
,
'猪八戒'
,
'钱'
,
'孙'
,
'李'
,
'孙悟空'
]
In [
25
]:
names
Out[
25
]:
['赵', '猪八戒', '钱', '孙', '李', '孙悟空']
In [
26
]:
n1 = names
In [
27
]:
n1.extend(names)
#列表合在一起
In [
28
]:
n1
Out[
28
]:
['赵', '猪八戒', '钱', '孙', '李', '孙悟空', '赵', '猪八戒', '钱', '孙', '李', '孙悟空’]
删除元素
pop()
remove()
del xxx[下标]
In [
44
]:
names
Out[
44
]:
['赵', '猪八戒', '钱', '孙', '李', '孙悟空', '赵', '猪八戒', '钱', '孙', '李', '孙悟空']
In [
45
]:
names.pop()
#从后往前删除
Out[
45
]:
'孙悟空'
In [
46
]:
names
Out[
46
]:
['赵', '猪八戒', '钱', '孙', '李', '孙悟空', '赵', '猪八戒', '钱', '孙', '李']
In [
47
]:
names.pop()
Out[
47
]:
'李'
In [
48
]:
names
Out[
48
]:
['赵', '猪八戒', '钱', '孙', '李', '孙悟空', '赵', '猪八戒', '钱', '孙’]
In [
51
]:
names.remove(
'猪八戒’
)
#从前往后删除第一个“猪八戒”
In [
52
]:
names
Out[
52
]:
['赵', '钱', '孙', '李', '孙悟空', '赵', '猪八戒', '钱', '孙’]
In [
53
]: del
names[
4
]
#根据下标删除
In [
54
]:
names
Out[
54
]:
['赵', '钱', '孙', '李', '赵', '猪八戒', '钱', '孙’]
修改元素
xxx[下标]
In [
55
]:
names[
0
] =
'二郎神'
In [
56
]:
names
Out[
56
]:
['二郎神', '钱', '孙', '李', '赵', '猪八戒', '钱', '孙’]
查找元素
in
not in
In [
57
]:
'猪八戒'
in
names
Out[
57
]:
True
In [
58
]:
'猪八戒'
not
in
names
Out[
58
]:
False
In [
12
]:
n
Out[
12
]:
['q', 'w', 'e']
#查找下标
In [
13
]:
n.index(
'w'
)
Out[
13
]:
1
综合应用
1
#打印功能提示
2
print
(
'='
*
40
)
3
print
(
" 名字关系系统"
)
4
print
(
" 1.增加"
)
5
print
(
" 2.删除"
)
6
print
(
" 3.修改"
)
7
print
(
" 4.查询"
)
8
9
names = []
#定义一个空列表
10
11 while
True
:
12
13
num =
int
(
input
(
'请输入序号:
\n
'
))
14
15
if
num ==
1
:
16
new_name =
input
(
"请输入名字:
\n
"
)
17
names.append(new_name)
18
print
(names)
19
elif
num ==
2
:
20
del_name =
input
(
'请输入要删除的名字:
\n
’
)
21
names.remove(del_name)
22
print
(names)
23
elif
num ==
3
:
24
chg_num =
int
(
input
(
'请输入要修改第几个名字:
\n
'
))
25
chg_name =
input
(
'请输入新的名字:
\n
'
)
26
names[chg_num -
1
] = chg_name
27
print
(names)
28
elif
num ==
4
:
29
find_name =
input
(
'情书如要查询的名字:
\n
'
)
30
if
find_name
in
names:
31
print
(
'已找到'
)
32
else
:
33
print
(
"未找到"
)
34
else
:
35
prrint(
'输入错误’
)
字典
data = {'name':'Jack',’job':'警察','home’:'地球'} # 键值对存储
data[’name’]—>’Jack’ #根据键来找值
字典的增删改查
In [
1
]:
infor = {
'name'
:
'jack'
}
In [
2
]:
infor[
'age'
] =
18 #增加
In [
3
]:
infor
Out[
3
]:
{'age': 18, 'name': 'jack'}
In [
4
]: del
infor[
'age’
] ##删除
In [
5
]:
infor
Out[
5
]:
{'name': 'jack'}
In [
6
]:
infor[
'name’
] #查询
Out[
6
]:
'jack'
In [
7
]:
infor[
'name'
] =
‘ben’
#修改
In [
8
]:
infor
Out[
8
]:
{'name': 'ben'}
In [
9
]:
infor.get(
'name’
)
#查询
Out[
9
]:
‘ben'
字典常见操作及遍历
In [
1
]:
infor = {
'name'
:
'jack'
,
'age'
:
18
}
In [
2
]: len
(infor)
Out[
2
]:
2
In [
3
]:
infor.keys()
Out[
3
]:
dict_keys(['name', 'age'])
In [
4
]:
infor.values()
Out[
4
]:
dict_values(['jack', 18])
In [
5
]: for
temp
in
infor.keys():
...:
print
(temp)
...:
name
age
In [
6
]:
infor.items()
Out[
6
]:
dict_items([('name', 'jack'), ('age', 18)])
In [
7
]: for
temp
in
infor.items():
...:
print
(temp)
...:
('name', 'jack')
('age', 18)
In [
8
]: for
temp
in
infor.items():
...:
print
(
'key =
%s
,value =
%s
'
%(temp[
0
],temp[
1
]))
...:
key = name,value = jack
key = age,value = 18
元组
A = (11,22)
B = A
C,D = A # 拆包
C —> 11
D —> 22
In [
9
]: for
a,b
in
infor.items():
...:
print
(
'key =
%s
,value =
%s
'
%(a,b))
...:
key = name,value = jack
key = age,value = 18
列表存储 —同类型数据 [] 增删改查
字典存储 —非同类数据 {} 增删改查
元组存储 —同类型数据 () 增删查
不可修改
简易名片夹系统
1
#打印功能提示
2
print
(
'='
*
40
)
3
print
(
" 名片管理系统"
)
4
print
(
" 1.增加"
)
5
print
(
" 2.删除"
)
6
print
(
" 3.修改"
)
7
print
(
" 4.查询"
)
8
print
(
' 5.退出系统'
)
9
print
(
'='
*
40
)
10
11
card_infors = []
#定义一个空列表就是名片夹
12
13 while
True
:
14
15
num =
int
(
input
(
'请输入序号:
\n
'
))
16
17
if
num ==
1
:
18
new_name =
input
(
"请输入名字:
\n
"
)
19
new_phone =
input
(
'请输入手机号:
\n
'
)
20
new_add =
input
(
'情书入住址:
\n
’
)
21
new_infor = {}
22
new_infor[
'name'
] = new_name
23
new_infor[
'phone'
] = new_phone
24
new_infor[
'add'
] = new_add
25
#将字典加入名片夹列表
26
card_infors.append(new_infor)
27
print
(card_infors)
28
elif
num ==
2
:
29
del_name =
input
(
'请输入要删除的名字:
\n
'
)
30
i =
0
31
names = []
#定义一个空列表存储所有名片名字用于查找
32
while
i <
len
(card_infors):
#有多少个名片
33
names.append(card_infors[i][
'name'
])
#将所有名字加入列表
34
i+=
1
35
36
if
del_name
in
names:
37
del
card_infors[names.index(del_name)]
#删除名片(del),index()
>
查找del_name的下标
38
else
:
39
print
(
"未找到"
)
40
print
(card_infors)
41
elif
num ==
3
:
42
chg_num =
int
(
input
(
'请输入要修改第几个名片:
\n
'
)) -
1
#名片夹的下标
43
chg_name =
input
(
'请输入新的名字:
\n
'
)
44
chg_phone =
input
(
'请输入新的手机号:
\n
'
)
45
chg_add =
input
(
'请输入新的地址:
\n
'
)
46
card_infors[chg_num][
'name'
] = chg_name
47
card_infors[chg_num][
'phone'
] = chg_phone
48
card_infors[chg_num][
'add'
] = chg_add
49
print
(card_infors)
50
elif
num ==
4
:
51
find_name =
input
(
'情书如要查询的名字:
\n
'
)
52
i =
0
53
names = []
#定义一个空列表存储所有名片名字用于查找
54
while
i <
len
(card_infors):
55
names.append(card_infors[i][
'name'
])
#将所有名字加入列表
56
i+=
1
57
if
find_name
in
names:
58
print
(
'查询具体信息:%s'
%card_infors[names.index(find_name)])
#打印需要查找的人的所有信息
59
else
:
60
print
(
"未找到"
)
61
print
(card_infors)
62
elif
num ==
5
:
63
break
64
else
:
65
prrint(
'输入错误’
)