字符串操作

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(''.isdecimal()) #判断是否是十进制,是返回"True",不是返回"False"
print(''.isdigit()) #判断是否整数
print('A_'.isidentifier()) #判断是不是一个合法的标识符(变量名)
print(''.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,join以后是常用语法
print(','.join(['','','']) ) #运行结果: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",'') #需要一一对应
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":
break
elif choice3 == "q":
jump_flag = True
elif choice2 == "b":
break
elif choice2 == "q":
jump_flag = True
elif choice == "q":
jump_flag = True

python学习笔记(字符串操作、字典操作、三级菜单实例)的更多相关文章

  1. [Python学习笔记] 字符串类型及操作

    字符串处理 索引:返回字符串中单个字符 <字符串>[M] 切片:返回字符串中一段字符子串 <字符串>[M:N:K] 字符串格式化使用.format()方法

  2. 【python学习笔记】4.字典:当索引不好用时

    [python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...

  3. Python学习笔记五:字符串常用操作,字典,三级菜单实例

    字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count(“x”) 输出字符, ...

  4. Python学习笔记21:数据库操作(sqlite3)

    Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言. SQLite作为后端数据库,能够搭配Python建站点,或者制作有数据存储需求的工具. SQLite还在其他领域有广泛 ...

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

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

  6. python学习笔记(三)-列表&字典

    列表: 一.列表操作"""Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.比如,列出班里所有同学的名字,就可以用一 ...

  7. Python学习笔记-字符串

    Python之使用字符串 1.所有的标准序列操作(索引,分片,乘法,判断成员资格,求长度,取最小值,最大值)对字符串同样适用.但是字符串都是不可变的. 2.字符串格式化使用字符串格式化操作符即%. f ...

  8. python学习笔记——字符串

    类方法string.upper(str)需要引入string模块,实例方法str.upper()不需要引入string模块 无与伦比的列表解析功能 # coding=utf-8 # 列表解析 prin ...

  9. python学习笔记6(字典)

    映射:键值对的关系,键(key)映射值(value) 字典是Python唯一的映射类型 >>> phonebook = {'} >>> phonebook {'} ...

  10. python学习笔记(十 二)、操作数据库

    每一种语言都少不了多数据库进行各种操作. python支持多种数据库.有关python支持的数据库清单,请参阅:https://wiki.python.org/moin/DatabaseInterfa ...

随机推荐

  1. jQuery幻灯片插件autoPic

    原文地址:Jquery自定义幻灯片插件 插件效果图: 演示地址:autoPic项目地址:autoPic 欢迎批评指正!

  2. 代码的坏味道(17)——夸夸其谈未来性(Speculative Generality)

    坏味道--夸夸其谈未来性(Speculative Generality) 特征 存在未被使用的类.函数.字段或参数. 问题原因 有时,代码仅仅为了支持未来的特性而产生,然而却一直未实现.结果,代码变得 ...

  3. C# 实时折线图,波形图

    此Demo是采用VS自带的Chart图表控件,制作实时动态显示的折线图,和波形图. 涉及到知识如下: Chart 控件,功能强大,可以绘制柱状图,折线图,波形图,饼状图,大大简化了对图的开发与定制. ...

  4. ASP.Net MVC——使用 ITextSharp 完美解决HTML转PDF(中文也可以)

    前言: 最近在做老师交代的一个在线写实验报告的小项目中,有这么个需求:把学生提交的实验报告(HTML形式)直接转成PDF,方便下载和打印. 以前都是直接用rdlc报表实现的,可这次牵扯到图片,并且更为 ...

  5. autocomplete的使用

    autocomplete使用分为本地调用方法和读取远程读取数据源的方法 (1)本地调用方法 <script src="Scripts/jquery-1.4.1.min.js" ...

  6. MySQL常见面试题

    1. 主键 超键 候选键 外键 主 键: 数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合.一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null). 超 键: 在关系中 ...

  7. 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

  8. 使用C# 和Consul进行分布式系统协调

    随着大数据时代的到来,分布式是解决大数据问题的一个主要手段,随着越来越多的分布式的服务,如何在分布式的系统中对这些服务做协调变成了一个很棘手的问题.今天我们就来看看如何使用C# ,利用开源对分布式服务 ...

  9. 设计模式之合成/聚合利用原则(CARP)

    一.概念 CARP:CompositionAggregation Principle 合成聚合复用原则,尽量使用合成/聚合,尽量不使用类继承.合成聚合是“has  a”的关系,而继承是“is  a”的 ...

  10. AVL树原理及实现(C语言实现以及Java语言实现)

    欢迎探讨,如有错误敬请指正 如需转载,请注明出处http://www.cnblogs.com/nullzx/ 1. AVL定义 AVL树是一种改进版的搜索二叉树.对于一般的搜索二叉树而言,如果数据恰好 ...