zoukankan      html  css  js  c++  java
  • python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作

    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)) #在字符变量中加制表符"	",在输出时把制表符"	"转成30个空格
    print(name.find("name")) #返回值为匹配查找的字符串起始下标
    print(name[name.find("name"):8]) #字符串切片,取出name
    print(name[name.find("name"):]) #字符串切片,取出从name开始到最后
    
    name = "my 	name 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('
    Alex'.lstrip() ) #从左边去除空格或回车
    print('Alex
    '.rstrip() ) #c从右边去除空格或回车
    print('    Alex
    '.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
    +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("	",i2)
                choice2 = input("请选择进入,或输入“b”返回上一层,输入“q”退出程序:")
                if choice2 in city_data[choice]:
                    while not jump_flag:
                        for i3 in city_data[choice][choice2]:
                            print("		",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
  • 相关阅读:
    查询缓存
    Indexes
    计院生活第三章 狂轰乱炸(上)
    JAVA实现文件树
    OGNL表达式语言介绍
    DOM4J使用教程
    css 优先级
    《JavaScript凌厉开发 Ext详解与实践》3月5日开始上架销售
    Drools 规则引擎
    OLTP和OLAP区别
  • 原文地址:https://www.cnblogs.com/phenomzh/p/6250672.html
Copyright © 2011-2022 走看看