首页 > 其他 > 详细

day02-字符串、字典

时间:2017-02-28 15:23:06      阅读:223      评论:0      收藏:0      [点我收藏+]

1.1  字符串常用操作

 1 name = "zhou qiong jie"
 2 
 3 print(name.capitalize())  #将首字母大写
 4 
 5 print(name.count("o"))   #统计有多少指定字符
 6 
 7 print(name.center(50,"-"))  #打印50字符,不够的话用-,在两头补全
 8 
 9 print(name.endswith("ie")) #判断是否以它结尾
10 
11 print(name.find("qiong"))  #显示字符位置
12 
13 print(name[name.find("qiong"):]) #对字符串进行切片

 1 name = "my name is {name} and I am {year} old! "
 2 
 3 print(name.format(name=zhouqiongjie,year=23))
 4 
 5 print(name.format_map({name:zhouqiongjie,year:23}))
 6 
 7 print(ab123.isalnum())  #判断是否是阿拉伯字符
 8 
 9 print(abD.isalpha())  #判断是否为纯英文字符
10 
11 print(ab123.isdecimal()) #判断是否为十进制
12 
13 print(ab123.isdigit())  #判断是否为整数
14 
15 print(ab123.isidentifier()) #判断是否是合法的标识符(合法的变量)
16 
17 print(ab123.islower()) #判断是否都是小写
18 
19 print(ab123.isspace())#判断是否是空格
20 
21 print(ab123.istitle())#每个字符串首字母大写
22 
23 print(ab123.isprintable()) #判断是否可以打印  如:tty file不能打印
24 
25 print(ab123.isupper())#判断是否为大写
26 
27 print(+.join([1,2,3]))#将列表中的值,进行拼接
28 
29 print(name.ljust(50,*))#打印50个字符,不够就用指定字符在后面补全
30 
31 print(name.rjust(50,*))#打印50个字符,不够就用指定字符在前面补全
32 
33 print(name.lower()) #把大写变小写
34 
35 print(name.upper()) #把小写变大写
36 
37 print(name.strip()) #去两边空格或回车
38 
39 print(name.lstrip()) #去左边的空格或回车
40 
41 print(name.rstrip()) #去右边的空格或回车

 


1 p = str.maketrans("abcdef",123456) #形成对应关系,类似加密解密,密码本
2 
3 print("zhouqiongjie".translate(p))

 


 1 print(zhouqiongjie.replace(o,O,1)) #将指定字符的第一个替换
 2 
 3 print(zhouqiongjie.rfind(o))#找到指定字符的下标,显示最右边
 4 
 5 print(zhou qiong jie.split())#把字符串按照空格切分成列表
 6 
 7 print(zhou qiong jie.split(o))#把字符串按照o切分成列表
 8 
 9 print(zhou\nqiongjie.splitlines())#把字符串按照换行符切分成列表
10 
11 print(Zhou qiong jie.swapcase())#大小写互转
12 
13 print(zhou qiong jie.zfill(50))#打印50个字符,不够用0补齐

 

 

1.2  字典操作

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

字典的特性:

  • dict是无序的
  • key必须是唯一的,so 天生去重

字典的增删改查

#字典
 1 info = {
 2 
 3     stu001:"qiongjie",
 4 
 5     stu002:"zhouqiongjie",
 6 
 7     stu003:"zhangdan",
 8 
 9     stu004:"dandan"
10 
11 }
12 
13 info[stu001]="琼杰" #修改
14 
15 info[stu005]=张丹 #增加
16 
17 info.pop(stu003)   #删除
18 
19 del info[stu004]   #删除
20 
21 print(info.get(stu004))  #查询指定值,存在就显示,不存在就显示none
22 
23 print(stu001 in info)  #判断是否存在这个key,存在就显示true,不存在就显示false
24 
25 print(info)#查询
26 
27 print(info.values()) #只显示值
28 
29 print(info.keys()) #只显示key
30 
31 
32 
33 info.setdefault("teacher",["alex","zou","wu"])
34 
35 info.setdefault("stu005",["alex","zou","wu"]) #先去到字典里取stu005这个值,如果能取到,则不进行插入,如果不能取到,则进行插入
36 
37 print(info)

 

 

###这是个坑###
 1 c =dict.fromkeys([1,2,3]) #初始化一个字典
 2 
 3 print(c)
 4 
 5 
 6 
 7 d =dict.fromkeys([1,2,3],[1,{"name":"alex"},333]) #三个key,共享一个值
 8 
 9 d[1][1][name] = haha #当修改其中的一个值时,其实三个都发生了变化
10 
11 print(d)

字典合并

 1 info = {
 2 
 3     stu001:"qiongjie",
 4 
 5     stu002:"zhouqiongjie",
 6 
 7     stu003:"zhangdan",
 8 
 9     stu004:"dandan"
10 
11 }
12 
13 
14 
15 info2 = {
16 
17     "stu001":"alex",
18 
19     1:3,
20 
21     2:5
22 
23 }
24 
25 info.update(info2) #将两个字典合并
26 
27 print(info)
28 
29 print(info.items()) #将字典转换成一个大的列表

 

 

字典的循环:

 1 info = {
 2 
 3     stu001:"qiongjie",
 4 
 5     stu002:"zhouqiongjie",
 6 
 7     stu003:"zhangdan",
 8 
 9     stu004:"dandan"
10 
11 }
12 
13 #字典的循环,两种方式
14 
15 for i in info:   #建议使用,更加高效
16 
17     print(i,info[i])
18 
19 print("-----------------")
20 
21 for k,v in info.items():  #需要将字典转换成列表,花费时间较长
22 
23     print(k,v)

 

 多级字典嵌套及操作:

Key最好不要使用中文,可能因为编码,取不出来值

 

 1 scenery_catalog = {
 2 
 3     "北京":{
 4 
 5         "beijing":["故宫博物院","颐和园","鸟巢"]
 6 
 7     },
 8 
 9     "上海":{
10 
11         "shanghai":["城隍庙","豫园","外滩"]
12 
13     },
14 
15     "湖北":{
16 
17         "wuhan":["东湖绿道","黄鹤楼","光谷"]
18 
19     }
20 
21 }
22 
23 
24 
25 scenery_catalog["湖北"]["wuhan"][0] = "汉口江滩" #修改
26 
27 print(scenery_catalog)

 


 

day02-字符串、字典

原文:http://www.cnblogs.com/Study-Blog/p/6478713.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!