字符串常用操作
7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日
首字母大写:a_str.capitalize()
统计字符串个数:a_str.count(“x”)
输出字符,不够的使用指定的字符补上,字符居中:a_str.center(50,”-“)
判断字符串以什么结尾:a_str.endwith(“xx”)
将字符串中的tab转换为指定数目的空格:a_str.expandtabs(tabsize=30)
查找指定字符串在字符串中的位置:a_str.find(“xx”)
字符串也可以切片:a_str[a_str.find(“xx”):]
格式化输出:a_str.format(xx=”x”,xxx=”xxx”)
字典格式输出:a_str.format_map({‘name’:’alex’, ’year’:12})
判断是否为阿拉伯数字(所有英文字符+0-9):a_str.isalnum()
判断是否为英文字符:a_str.isalpha()
判断是否为十进制数:a_str.isdecimal()???
判断是否为整数:a_str.isdigit()
判断是否为合法的标识符(合法的变量名):a_str.isidentifier()
判断是否为小写:a_str.islower()
判断是否只有数字(不能有小数点):a_str.isnumeric(),测试:”0132”.isnumeric()
判断是否为空格:a_str.ispace()
判断是否每个单词首字母大写:a_str.istitle()
判断是否是可以打印的:a_str.isprintable() #tty file, drive file
判断是否为大写:a_str.isupper()
将字符串列表组合成字符串,以指定的字符分割:”指定的字符”.join(a_str_list)
输出指定长度的字符串,字符串在左侧,不足时以指定字符(串?)填充:a_str.ljust(50, ’*’)
输出指定长度的字符串,字符串在右侧,不足时以指定字符(串?)填充:a_str.rjust(50, ‘*’)
字符变小写:a_str.lower()
字符变大写:a_str.upper()
去掉左边的空格回车:” test”.lstrip()
去掉右边的空格回车:”test “.rstrip()
去掉两边的空格回车:’ test\n”.strip() \r会如何?
将指定字母转换为对应的数字:
p=str.maketrans(“abcdef”,”123456”)
print(“alex li”.translate(p))
替换字符串:a_str.replace(‘l’,’L’,1)
从右向左边寻找字符串中字符位置:a_str.rfind(‘x’)
将字符串按照指定字符分隔为一个列表,不指定时为空格:a_str.split()
按照回车符分隔字符串为列表:a_str.splitlines()(\r,\n?)
大小写转换:a_str.swapcase()
以0填充字符串不够的部分:a_str.zfill(50)
字典
7.18,7.19,7.21,7.28,8.28,2.28
Key-value
Json格式
无序,key唯一,第一个例子最后有个大括号
取值,info[key],info.get(key)
判断key是否存在,key in info,python2:info.haskey(key)
多级字典嵌套,修改,一级一级定位,赋值
Key不要用中文
打印所有values,keys,setdefault(),先判断是否存在???,不存在则创建
Info.update(info2),合并两个字典,key一致时用新值覆盖旧值???
转换为列表,info .items()
fromkeys(alist,value)创建新字典,列表中每个值仅为key???
输出key,value:
for key in info:
print(I,info[i])——高效
for k,v in info.items():
print(k,v)——低效,先转换为列表后输出
三级菜单实例
流程图
构建字典
循环
pass:nothing,什么都不做的意思
作业:
购物车优化,分为卖家和买家两个文件
买家:商品信息存在文件中,每次运行显示已购商品及余额
卖家:可以添加商品,修改价格