zoukankan      html  css  js  c++  java
  • day02-字符串、字典

    1.1  字符串常用操作

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

     1 name = "my name is {name} and I am {year} old! "
     2 
     3 print(name.format(name='zhouqiongjie',year=23))
     4 my name is zhouqiongjie and I am 23 old!
     5 print(name.format_map({'name':'zhouqiongjie','year':23})) #一一映射对应
     6 
     7 print('ab123'.isalnum())  #判断是否是阿拉伯字符
     8 True
     9 print('abD'.isalpha())  #判断是否为纯英文字符
    10 True
    11 print('ab123'.isdecimal()) #判断是否为十进制
    12 False
    13 print('ab123'.isdigit())  #判断是否为整数
    14 False
    15 print('ab123'.isidentifier()) #判断是否是合法的标识符(合法的变量)
    16 True
    17 print('ab123'.islower()) #判断是否都是小写
    18 True
    19 print('ab123'.isspace())#判断是否是空格
    20 False
    21 print('ab123'.istitle())#每个字符串首字母大写
    22 False
    23 print('ab123'.isprintable()) #判断是否可以打印  如:tty file不能打印
    24 True
    25 print('ab123'.isupper())#判断是否为大写
    26 False
    27 print('+'.join(['1','2','3']))#将列表中的值,进行拼接
    28 1+2+3
    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))
    4 zhouqiongji5

     1 print('zhouqiongjie'.replace('o','O',1)) #将指定字符的第一个替换
     2 zhOuqiongjie
     3 print('zhouqiongjie'.rfind('o'))#找到指定字符的下标,显示最右边
     4 6
     5 print('zhou qiong jie'.split())#把字符串按照空格切分成列表
     6 ['zhou','qiong','jie']
     7 print('zhou qiong jie'.split('o'))#把字符串按照o切分成列表
     8 ['zh','u qi','ng jie']
     9 print('zhou
    qiongjie'.splitlines())#把字符串按照换行符切分成列表
    10 ['zhou','qiongjie']
    11 print('Zhou qiong jie'.swapcase())#大小写互转 zHOU QIONG JIE
    12 print('zhou qiong jie'.startswith('zhou')) #判断是否以‘zhou’开头,是返回True,否返回Fales
    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 
    
    setdefault()表示去取字典中的key,如果取不到,则设置新值,相反如果取到,则返回原有默认值
     1 >>> stu_info = {"zhangsan":23,"lisi":18,"zhou":18}
     2 #设置不存在的key
     3 >>> stu_info.setdefault("wanger",25)
     4 25
     5 >>> stu_info
     6 #输出结果
     7 {'wanger': 25, 'zhangsan': 23, 'zhou': 18, 'lisi': 18}
     8 #设置存在的key
     9 >>> stu_info.setdefault("zhou",23)
    10 18
    11 >>> stu_info
    12 #输出结果
    13 {'wanger': 25, 'zhangsan': 23, 'zhou': 18, 'lisi': 18}
    ###这是个坑###
     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)

    字典合并

    update()是把两个字典合并成一个新的字典,中间有交叉的key,更新替换成新值,没有交叉就直接创建

     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()) #将字典转换成一个大的列表

    clear() #清空字典

    字典的循环:

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

     对比小结:

    ①方法1的效率比方法2的效率高很多

    ②方法1是直接通过key取value

    ③方法2是先把字典转换成一个列表,再去取值

    ④当数据量比较大的时候,用第二种方法时,字典转换成列表的这个过程需要花大量的时间老转换,当然数据量不大,没有关系,效率差不多

     多级字典嵌套及操作:

    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)
    
    
    
  • 相关阅读:
    LoadRunner测试下载功能点脚本(方法二)
    LoadRunner测试下载功能点脚本(方法一)
    LR翻页脚本并在每页实现业务操作
    LR脚本自定义显示Controller虚拟用户状态
    LR选择哪种方式录制
    LR如何监控tomcat性能
    LR使用Java User协议环境报错Please add the <JDK>in to the path and try again
    HttpServletRequest对象请求转发和HttpServletResponse对象请求重定向之间的区别
    java进制转换
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/Study-Blog/p/6478713.html
Copyright © 2011-2022 走看看