字符串操作

name = "alex"
print(name.capitalize()) #首字母大写

name = "my name is alex"
print(name.count("a")) #统计字母"a"的数量

print(name.center(50,"-")) #一共打印50个字符,变量name在中间,其余用"-"补足
print(name.endswith("ex")) #判断以什么字符为结尾,返回值为:True或False
print(name.expandtabs(tabsize=30)) #在字符变量中加制表符"\t",在输出时把制表符"\t"转成30个空格
print(name.find("name")) #返回值为匹配查找的字符串起始下标
print(name[name.find("name"):8]) #字符串切片,取出name
print(name[name.find("name"):]) #字符串切片,取出从name开始到最后

name = "my \tname is {name} and I am {year} old"
print(name.format(name='alex',year=23)) #format用法
print(name.format_map({'name':'alex','year':12})) #format_map用法,就是字典,很少使用。
print('ab123'.isalnum()) #判断变量或字符串只有字母或阿拉伯数字的时候,返回"True",有特殊字符的时候返回"False"
print('ab'.isalpha()) #判断变量或字符串只有字母的时候,返回"True",其余情况返回"False"
print('3'.isdecimal()) #判断是否是十进制,是返回"True",不是返回"False"
print('11'.isdigit()) #判断是否整数
print('A_'.isidentifier()) #判断是不是一个合法的标识符(变量名)
print('333'.isnumeric()) #判断是不是纯数字组成(不能有小数点)
print(' '.isspace()) #判断是不是空格
print('My Name Is'.istitle()) #是否首字母大写。返回"True"
print('My Name Is'.isprintable()) #tty file,dirve file
print('My Name Is'.isupper()) #是否全部为大写
print('+'.join(['1','2','3']) ) #运行结果:1+2+3,join以后是常用语法
print(','.join(['1','2','3']) ) #运行结果:1,2,3
print(name.ljust(50,'*') ) #输出总长度为50个字符,不够用"*"补足,变量在左边
print(name.rjust(50,'*') ) #输出总长度为50个字符,不够用"*"补足,变量在右边
print('Alex'.lower()) #把大写变成小写
print('Alex'.upper()) #把小写变成大写
print('\nAlex'.lstrip() ) #从左边去除空格或回车
print('Alex\n'.rstrip() ) #c从右边去除空格或回车
print('    Alex\n'.strip() ) #两边都去除空格或回车

p = str.maketrans("abcdef",'123456') #需要一一对应
print("alex li".translate(p) ) #返回值:1l5x li
print('alex li'.replace('l','L',1) ) #指定下标的字母"l"替换成"L"
print('alex li'.rfind('l')) #查找到最后一个匹配值的下标
print('alex li'.split()) #默认按照空格把字符串分割成列表。返回值:['alex', 'li']
print('alex li'.split('l')) #按照字母'l',把字符串分割为列表。返回值:['a', 'ex ', 'i']
print('1+2+3+4'.split('+')) #返回值:['1', '2', '3', '4']
print('1+2\n+3+4'.splitlines()) #识别换行符分割为列表。返回值:['1+2', '+3+4']
print('Alex Li'.swapcase()) #大小写反转。返回值:aLEX lI
print('lex li'.title()) #把首字母大写。返回值:Lex Li
print('lex li'.zfill(50)) #用"0"补位。返回值:00000000000000000000000000000000000000000000lex li

字典操作

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

字典是无序的,它没有下标

语法:

info = {'stu1101':"TengLan Wu",'stu1102':"LongZe LuoLa",'stu1103':"XiaoZe MaLiya",
}

字典操作

修改:

info["stu1101"] ="武藤兰" #修改

info["stu1104"] ="CangJinkong" #如果key不存在就创建

删除:

del info["stu1101"] #删除
info.pop("stu1101") #删除
info.popitem() #随机删除

查找:

info['stu1101'] #必须确定字典中有这个key,不然会报错print(info.get('stu1103')) #安全的查找方法,不会报错
print('stu1103' in info)  #info.has_key("stu1103") in py2.x

字典的其他操作:

info = {'stu1101':"TengLan Wu",'stu1102':"LongZe LuoLa",'stu1103':"XiaoZe MaLiya",
}
b = {'stu1101':"Alex Li",1:3,2:5,}print(info.values()) #输出字典中的值
print(info.keys()) #输出字典中的key
info.setdefault("stu1101","abc") #如果key存在,不改变任何值;如果key不存在,则创建key并赋值
info.update(b) #合并字典,并且更新对应的key的值
print(info)

c = dict.fromkeys([6,7,8]) #初始化一个字典
print(c)

字典循环:

info = {'stu1101':"TengLan Wu",'stu1102':"LongZe LuoLa",'stu1103':"XiaoZe MaLiya",
}for i in info:  #推荐用此方法print(i,info[i])
for k,v in info.items(): #不推荐使用,先要把字典转成列表,如果数据量大,效率大大降低print(k,v)

三级菜单实例:

#!/usr/bin/env python
#Author ZJF

city_data = {'重庆':{"渝中区":["七星岗","大溪沟","李子坝"],"南川区":["文凤镇","三泉镇","兴隆镇"],"合川区":["金子镇","黄土镇","大石镇"],"南岸区":["陈家湾","广阳镇","柏林村"]},'天津':{"和平区":["崇仁里","三德里","泰华里"],"河西区":["曙光里","红山里","大庆里"],"武清区":["南蔡村镇","曹子里乡","上马台镇"],"北辰区":["双街镇","小淀镇","青光镇"]},'北京':{"东城区":["钱粮胡同","南剪子巷","晨光街"],"丰台区":["马家堡","宣武门","白堆子"],"海淀区":["颐和园","清华大学","北京大学"],"通州区":["西集镇","台湖镇","甘棠镇"]},'上海':{"浦东新区":["川沙镇","金桥","高桥镇"],"闵行区":["莘庄","九宫宾馆","沁园春三村"],"长宁区":["上海动物园","北新泾","虹桥公园"],"黄浦区":["外滩","南京东路","十六铺"]}
}jump_flag = False  # 用于跳出外循环
while not jump_flag:for i in city_data:print(i)choice = input("请选择进入,或输入“q”退出程序:")if choice in city_data:while not jump_flag:for i2 in city_data[choice]:print("\t",i2)choice2 = input("请选择进入,或输入“b”返回上一层,输入“q”退出程序:")if choice2 in city_data[choice]:while not jump_flag:for i3 in city_data[choice][choice2]:print("\t\t",i3)choice3 = input("最后一层,输入“b”返回上一层,输入“q”退出程序:")if choice3 == "b":breakelif choice3 == "q":jump_flag = Trueelif choice2 == "b":breakelif choice2 == "q":jump_flag = Trueelif choice == "q":jump_flag = True

转载于:https://www.cnblogs.com/phenomzh/p/6250672.html

python学习笔记(字符串操作、字典操作、三级菜单实例)相关推荐

  1. python学习笔记——集合与字典

    python学习笔记--集合与字典 1. 集合的基本概念 1.1 set(x)函数 1.2 集合类型的10个操作函数 2. 字典的基本概念 2.1 字典的索引 2.2 字典的操作 2.3 字典小结 1 ...

  2. Python学习笔记D8(字典与集合)

    Python学习笔记D8(字典与集合) 「字典」定义语法为 {元素1, 元素2, -, 元素n} 其中每一个元素是一个「键值对」- 键:值 (key:value)关键点是「大括号 {}」,「逗号 ,」 ...

  3. Python学习笔记-- 字符串和数字的连接

    Python学习笔记– 字符串和数字的连接 >>> s = 'abc' >>> print s + 1Traceback (most recent call las ...

  4. Python学习笔记——字符串、列表、元组、字典

    字符串介绍 想一想: 当打来浏览器登录某些网站的时候,需要输入密码,浏览器把密码传送到服务器后,服务器会对密码进行验证,其验证过程是把之前保存的密码与本次传递过去的密码进行对比,如果相等,那么就认为密 ...

  5. Python学习笔记 | 列表和字典

    基于Python3版本的学习. 列表 用中括号[ ]把里面的各种数据框起来,里面的每一个数据叫作"元素". 每个元素之间都要用英文逗号隔开. list1=['小明',18,1.70 ...

  6. Python 学习笔记 字符串的功能与方法

    一.字符串基础功能: 1.什么是字符串: 简单讲用引号包裹的就是字符串,可以是单引号或双引号. 2.字符串的基础操作: 创建字符串: # 创建空字符串 s = '' # 创建非空字符串 s = 'he ...

  7. python学习笔记之三:字典,当索引不好用时

    字典是python中唯一内建的映射类型.字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里. 键可以是数字,字符串甚至是元组. 1. 创建和使用字典 字典可以通过下面的方式创建: pho ...

  8. Python学习笔记-字符串

    目录 一.字符串类型 二.字符串的常用操作 1.字符串拼接 2.计算字符串的长度 3.截取字符串 4.分割.合并字符串 4.1 分格字符串 4.2 多字符分割字符串 4.3 合并字符串 5.检索字符串 ...

  9. Python学习笔记-字符串相关

    字符串有 下标(索引) ,从0开始,到n-1结束 len() 获取字符串长度 s = 'Hello' len(s) 利用索引获取字符串中某一位 正数索引 从0开始,从左向右数 负数索引 从-1开始,从 ...

  10. python学习笔记——字符串操作

    字符串相关操作 #!/usr/bin/env python3 # encoding: utf-8 # author: huangwj # mail: huangwjwork@gmail.com # b ...

最新文章

  1. IT界惊现文豪!华为领导及阿里P10遭吐槽
  2. 什么检索是借助计算机技术进行自动标引的,自动文献检索系统
  3. java db 程序_JAVA连接数据库的简单程序
  4. java中分支_[Java教程]JavaScript中的分支结构
  5. 工具|渗透测试之5种工具分享(Shiro插件、CTFR、JR-scan、dirsearch-Web等)
  6. 再读王永庆卖米的故事
  7. .NET平台开源项目速览(9)软件序列号生成组件SoftwareProtector介绍与使用
  8. 自己实现一个SQL解析引擎
  9. 英特尔发布边缘软件中心,抢滩 650 亿美元智能边缘市场!
  10. Matlab画图相关知识
  11. json转为tfrecord格式文件怎么转_JPG图片怎么转换成PDF?图片转PDF的免费软件有这些...
  12. JPEG添加EXIF
  13. layui 弹出层 点击遮罩层关闭
  14. catia怎么进入装配_catia装配详细教程
  15. 【RDMA】RDMA SEND/WRITE编程实例(IBV Verbs )
  16. Windows中常用文件拷贝工具的评测和对比
  17. 车辆违章查询接口,获取支持城市参数接口示例
  18. icp许可证怎么申请
  19. SQL SERVER数据库置疑后恢复步骤
  20. 两个均匀分布相加、两个正态分布相加、由均匀分布生成正态分布

热门文章

  1. 北大计算机专硕学费,北京大学专业硕士学费被曝高达2.2万元/年
  2. 上个厕所的功夫弄清楚了ES搜索服务器
  3. 加入企业黄页有什么好处?
  4. 大三,请问现在自学Java还来得及吗?
  5. 使用C# 创建windows 服务
  6. 2020年8月, E-Form++可视化源码组件库最新企业版本2020第 二版发布!
  7. 【SQL】Mysql5.7版本实现row_number分组排序功能
  8. python乳腺癌细胞挖掘
  9. 小猫小狗玩数学-第14届蓝桥杯STEMA测评Scratch真题精选
  10. 列表排序-第14届蓝桥杯STEMA测评Scratch真题精选