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循环结束了
  • 相关阅读:
    UnxUtils让windows下的dos命令变为linux下的命令
    Python多线程&进程
    Web前端工程师-优秀简历汇总
    最详细的Vuex教程
    Vue2.0 探索之路——生命周期和钩子函数的一些理解
    理解 $nextTick 的作用
    使用git rebase合并多次commit
    vim 退出命令(保存、放弃保存)
    Vue获取DOM元素样式 && 样式更改
    Vue Router的配置
  • 原文地址:https://www.cnblogs.com/yifchan/p/python-1-9.html
Copyright © 2011-2022 走看看