zoukankan      html  css  js  c++  java
  • Python基础之公共方法

    公共方法:就是列表,元组,字典,字符串能共同使用的方法;

    Python内置函数

    内置函数罗列

    函数 描述 备注
    len(item) 计算容器中的元素个数
    del(item) 删除变量 del有两种方法
    max(item) 返回容器中元素最大值 如果是字典,只针对key比较
    min(item) 返回容器中元素最小值 如果是字典,只针对key比较
    cmp(item1,item2) 比较两个值,-1小于/0等于/1大于 python3取消了cmp函数

    注意:字符串具有以下规则:"0"<"A"<"a"

    内置函数使用

    len() 计算容器中元素的个数;

    del 用关键字和函数两种方式,两种方式结果一样;del 变量;del(变量);

    list = [1, 2,4]
    del list[1]
    list
    [1, 4]
    del(list[0])
    list
    [4]
    del(list)
    # 删除列表后,会报错,未定义
    

    max和min函数

    test_str = "qeqfeijovodmbahidkolmc"
    max(test_str)
    'v'
    min(test_str)
    'a'
    # 如果是字典,只针对key比较
    test_list = [3, 9, 0, 1]
    max(test_list)
    9
    min(test_list)
    tset_dict = {"a": "3", "b": "1", "c": "2"}
    max(tset_dict)
    'c'
    min(tset_dict)
    'a'
    

    python3中取消了cmp比较运算符,但我们可以直接通过比较运算符<>进行比较;
    数字可以比较,字符串可以比较,元组,列表可以比较大小,但字典不能比较大小

    切片

    • 切片使用索引值来限定范围,从一个大的字符串中切出小的字符串;
    • 字符串,列表,元组可以进行切片,因为它们有序;但字典不能进行切片,因为字典无序;

    切片示例如下:

    t_list = [3,1,2,5,7]
    t_list[0:3]
    [3, 1, 2]
    t_tuple = (1,2,3,4,5)
    t_tuple[0:3]
    (1, 2, 3)
    

    运算符

    运算符罗列

    运算符 Python表达式 结果 描述 支持的数据类型
    + [1,2]+[3,4] [1,2,3,4] 合并 字符串,列表,元组
    * ["hi"]*4 ["hi","hi","hi","hi"] 重复 字符串,列表,元组
    in 3 in (1,2,3) True 元素是否存在 字符串,列表,元组,字典
    not in 4 not in(1,2,3) True 元素是否不存在 字符串,列表,元组,字典
    > >= == < <= (1,2,3)<(2,2,3) TRue 元素比较 字符串,列表,元组
    • in在对字典操作时,判断的是字典的键
    • in和not in被称为成员运算符

    运算符的使用

    *可以用于列表元组,但不能用于字典,因为字典的key必须是惟一的

    [1,2]*5
    [1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
    (1,2)*5
    (1, 2, 1, 2, 1, 2, 1, 2, 1, 2)
    

    +运算符表示合并,可以用于列表,元组,字符串合并;不同类型之间不能合并,比如元组与列表;

    "hello" + "world"
    'helloworld'
    (1,2) + (3,4)
    (1, 2, 3, 4)
    [1,2] + [3,4]
    [1, 2, 3, 4]
    

    注意,当我们用+合并列表时,是生成一个新列表

    append和extend方法的区别:extend会将一个指定的列表参数合并到列表中,即分散的加入;而append会将一个指定的列表当成一个整体的元素合并到列表中;
    用append和extend是在原列表上扩展元素。

    in和not in的使用

    • 包含和不包含;
    • 可以用于字符串,列表,元组,字典;但应注意在字典中,in只针对于字典的key做检查。

    in和not in的使用如下:

    "a" in "asdfg"
    True
    "a" not in "asdfg"
    False
    2 in (1,2,3,4)
    True
    2 not in [1,2,3,4]
    False
    "name" in {"name": "zhangsan"}
    True
    "zhangsan" in {"name": "zhangsan"}
    False
    

    完整的for循环

    完整的for循环语法

    for xx in 集合:
    	xxx
    else:
    	xxx
    

    这就是完整的for循环的语法结构;

    • 只要for循环不被break打断,else中的代码就会在for循环结束后执行;
    • 如果for循环被打断,就会直接执行for循环外部的后续代码

    完整的for循环演示

    students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]
    
    for stu in students:
        print(stu)
    else:
        print("我是for循环遍历结束后的else语句")
    print("for循环结束了")
    
    # {'name': '韩信'}
    # {'name': '李白'}
    # {'name': '刘备'}
    # 我是for循环遍历结束后的else语句
    # for循环结束了
    

    break打断for循环演示

    students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]
    
    for stu in students:
        print(stu)
        if stu["name"] == "李白":
            print("李白,你妈妈喊你回家吃饭了")
            break
    else:
        print("我是for循环遍历结束后的else语句")
    print("for循环结束了")
    
    # {'name': '韩信'}
    # {'name': '李白'}
    # 李白,你妈妈喊你回家吃饭了
    # for循环结束了
    

    for else的应用场景

    • 在迭代遍历嵌套的数据类型时,例如一个列表包含了多个字典

    需求:需要判断某一个字典中 是否存在指定的值
    如果存在,提示并且退出循环
    如果不存在,在循环整体结束后,希望得到一个统一的提示

    找到了的情况

    students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]
    
    find_stu = "李白"
    
    for stu in students:
        print("正在查找...", stu["name"])
        if stu["name"] == find_stu:
            print("%s,你妈妈喊你回家吃饭了" % find_stu)
            break
    else:
        print("不好意思,你家%s没在这个班" % find_stu)
    print("for循环结束了")
    
    # 正在查找... 韩信
    # 正在查找... 李白
    # 李白,你妈妈喊你回家吃饭了
    # for循环结束了
    

    没找到的情况

    students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]
    
    find_stu = "张飞"
    
    for stu in students:
        print("正在查找...", stu["name"])
        if stu["name"] == find_stu:
            print("%s,你妈妈喊你回家吃饭了" % find_stu)
            break
    else:
        print("不好意思,你家%s没在这个班" % find_stu)
    print("for循环结束了")
    
    # 正在查找... 韩信
    # 正在查找... 李白
    # 正在查找... 刘备
    # 不好意思,你家张飞没在这个班
    # for循环结束了
  • 相关阅读:
    Something I know about WebDynpro
    Details about support package implementation
    CRM Middleware Performance Topics
    Way to configure the logon navigaion layouts via Business Roles in CRM
    DOM 常用节点类型和方法
    第一届 xdef 会议日程
    去除百度音乐盒广告的chrome插件 持续更新
    从人人网抓取高校数据信息,包括,省份 高校 院系 (提供最终SQL文件下载)
    PHP 与 JSON
    解决HTTPS 发送请求走socket问题
  • 原文地址:https://www.cnblogs.com/yifchan/p/python-1-9.html
Copyright © 2011-2022 走看看