Python5--字符串、列表、字典
来源:互联网 发布:怎样连接网络电视 编辑:程序博客网 时间:2024/06/13 23:17
类型转换
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]:'猪八戒'notin names
Out[58]:False
In [12]:n
Out[12]:['q', 'w', 'e']
#查找下标
In [13]:n.index('w')
Out[13]:1
综合应用
1#打印功能提示
2print('='*40)
3print(" 名字关系系统")
4print(" 1.增加")
5print(" 2.删除")
6print(" 3.修改")
7print(" 4.查询")
8
9names = []#定义一个空列表
10
11 whileTrue:
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_namein 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 tempin infor.keys():
...: print(temp)
...:
name
age
In [6]:infor.items()
Out[6]:dict_items([('name', 'jack'), ('age', 18)])
In [7]: for tempin infor.items():
...: print(temp)
...:
('name', 'jack')
('age', 18)
In [8]: for tempin 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,bin infor.items():
...: print('key = %s,value =%s'%(a,b))
...:
key = name,value = jack
key = age,value = 18
列表存储 —同类型数据 [] 增删改查
字典存储 —非同类数据 {} 增删改查
元组存储 —同类型数据 () 增删查 不可修改
简易名片夹系统
1#打印功能提示
2print('='*40)
3print(" 名片管理系统")
4print(" 1.增加")
5print(" 2.删除")
6print(" 3.修改")
7print(" 4.查询")
8print(' 5.退出系统')
9print('='*40)
10
11card_infors = []#定义一个空列表就是名片夹
12
13 whileTrue:
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_namein 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_namein 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('输入错误’)
阅读全文
0 0
- Python5--字符串、列表、字典
- python5列表
- python5(字符串)
- python5
- python5
- Python +字符串+列表+字典
- python 列表字符串字典
- 字符串、列表、字典、元组
- Python字符串,元祖,列表,字典
- Python字符串、列表、字典、元组互转
- 字符串,列表,字典,元祖,集合
- python基础(列表,字符串,字典)
- 字符串,列表,元组,字典
- 序列:字符串,列表,元组,字典
- python列表、元组、字典、字符串操作
- Python 列表、元组、字典、字符串
- python基础学习_字符串,列表,字典
- python3中字符串、列表、字典的排序
- 杭电oj2095用到了异或运算!
- 《深入浅出MyBatis--技术原理与实战》读书笔记
- 25-Reverse Nodes in k-Group
- spring_pdf
- python3 RuntimeError: dictionary changed size during iteration
- Python5--字符串、列表、字典
- 一个简单的子类继承父类公共方法的代码
- UIAutomator2.0详解(UIDevice篇----LastTraversedText质疑)(未解)
- C语言基础练习13
- springcloud入门系列(2)-Feign、Ribbon实现Rest接口请求和负载均衡
- oracle 12c 集群安装后的检查
- 字符串的简单处理~~
- android 跨进程通信的代表Binder
- [C#编程]自定义类调用窗体控件