zoukankan      html  css  js  c++  java
  • 【Python学习笔记】2. 高级变量类型

    1 列表(List)

    1.1 基本信息

    • 列表存储一串信息;

    • 列表用 [ ] 定义,数据之间用“,”分隔;

    • 列表的数据项不需要具有相同的类型;

    • 列表索引号从0开始。

    1.2 列表操作

    • list.append(self, object) :在末尾添加新object内容;

    • list.clear(self) :清空列表

    • list.copy(self) :复制

    • list.count(self, obejct) :object在列表中出现的次数;

    • list.extend(self, iterable) :其他列表中完整的内容追加到当前列表末尾;

    • list.index(self, object, start, stop) :取索引

    • list.insert(self, index, object) :在指定索引位置插入

    • list.pop(self, index) :默认删除最后一个/删除指定索引元素

    • list.remove(self, object) :删除指定数据

    • list.reverse(self) :逆序,反转

    • list.sort(self, key, reverse) :升序排序

    • list.sort(reverse=Ture) :降序排序

    1.3 del关键字

    del 关键字(delete)删除列表元素

    del name_list[1]
    
    # del 本质上将一个变量从内存中删除,后续代码将不能用这个变量
    
    # 要从列表中删除数据,建议使用列表提供的操作方法。

    1.4 len (length 长度)

    用于统计列表中元素的总数。

    len(列表名)

    count方法主要统计元素出现的次数

    1.5 for循环遍历列表(迭代:iteration)

    for 变量 in 集合 :
        循环内容
    else :
        如果没有break,则执行else内容。

    (用在字典中遍历,判断某一字典中是否存在指定值。如存在,提示并退出循环;如不存在,循环结束后希望有一个统一的提示)

    见下面例子:

    students = [
                        {  "name": "阿土",
                            "age": 20,
                            "gender": True,
                            "height": 1.7,
                            "weight": 75.0},
                        {  "name": "小美",
                            "age": 19,
                            "gender": False,
                            "height": 1.6,
                            "weight": 45.0},
                    ]
    
    find_name = "阿土"
    
    for stu_dict in students:
        print(stu_dict)
    
        # 判断当前遍历的字典中姓名是否为find_name
        if stu_dict["name"] == find_name:
            print("找到了")
            # 如果已经找到,直接退出循环,就不需要再对后续的数据进行比较
            break
        else:
            print("没有找到")
    print("循环结束")                                

    2 元组(tuple)

    2.1 元组介绍

    •  tuple 与列表类似,区别在于:tuple的元素不能更改;
    • tuple 用( )定义,用“,”分隔,索引从0开始;
    •  list一般存储相同类型的数据,tuple存储不同类型数据;
    •  空元组:tuple = ( )
    • 元组只包含一个元素时,需在元素后面加“,”。如:
    Single_tuple = (5, )

    2.2 元组操作(与list类似)

    tuple,count

    tuple.index

    2.3 循环遍历

    主要使用for循环遍历元组。

    除非能确定元组的数据类型,否则很少遍历元组中的元素。

    2.4 应用场景

    1) 格式化字符串后的“( )”本质上是元组。如:

    tuple_people = ("小明", 18, 1.85)
    print(" %s 年龄是 %d, 身高是 %.2f " %(tuple_people))
    print(" %s 年龄是 %d, 身高是 %.2f " %("小明", 18, 1.85))

    其输出结果是一样的。

    2) 元组转换为列表:list(tuple_name)

    列表转换为元组:tuple(list_name)(防止更改数据,保护数据)

    3 字典(dictionary)

    3.1 字典介绍

    • 列表有序的对象集合,字典是无序的对象集合;

    • 字典用 { } 定义;

    • 键值对存储数据,键值对用“,”分隔。

      • 键key是索引;

      • 值value是数据;

      • 值和值之间用“:”分隔;

      • 键必须是唯一的;

    • 可以是任意数据类型,但只能使用字符串、数字或元组

    3.2 字典操作

    # 字典是无序的,输出的结果往往不是定义的顺序
    
    xiaoming = {"name": "小明",
                        "age": 18,
                        "gender": True,
                        "height": 1.75
                    }

    1) 取值

    print(xiaoming["name"])

    2) 增加/修改

    xiaoming["weight"] = 60 #增加
    xiaoming["name"] = "小小明" #修改

    3) 删除

    字典名.pop(“键名”)

    如:

    xiaoming.pop("name")

    4) 统计键值对数量

    len(字典名)

    5) 合并字典

    字典名.update(被合并字典名)

    6) 清空字典

    字典名.clear( )

    3.3 字典应用场景

    1) 用多个键值对描述物体相关信息;

    2) 多个字典放在列表中,再遍历。

    # 字典遍历
    card_list = [
    {"name":"张三",
    "qq":"123456",
    "phone":"110"},
     
    {"name":"李四",
    "qq":"654321",
    "phone":"120"}
    ]
    
    for card_info in card_list:
        print(card_info)

    4 字符串

    4.1 概览

    • 可以用双引号 " " 或单引号 ' ' 定义;

    • 索引从0开始;

    • 用for循环遍历。

    4.2 常用操作

    判断类型、查找和替换、大小写转换、文本对齐、去除空白字符、拆分和连续。

    • 统计长度:len

    • 统计次数:字符串.count(“子字符串”)

    • 索引位置:字符串.index(“子字符串”)

    • ……

    5 公共方法

    列表、元组、字典、字符串等高级数据类型都能使用的方法称为公共方法。

    5.1 内置函数

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

    • max():删除变量;

    • min():返回容器中元素的最大值,如果是字典,只针对key;

    • del():返回容器中元素的最小值,如果是字典,只针对key。

    5.2 切片

    切片方法适用于字符串、列表、元组。

    字符串[开始索引:结束索引:步长]

    示例:

     [0, 1, 2, 3, 4][1:3]

    结果: [1, 2]

    • 切片使用索引值来限定范围,从一个大的字符串切出小的字符串

    • 列表元组都是有序的集合,都能够通过索引值获得对应的数据

    • 字典是一个无序的集合,是使用键值对保存数据

    索引的顺序和倒序:在 Python 中不仅支持顺序索引,同时还支持倒序索引。所谓倒序索引就是从右向左计算索引,最右边的索引值是-1,依次递减。

    num_str = "0123456789"
    
    # 倒序切片
    print(num_str[-1]) # -1 表示倒数第一个字符
     
    # 截取从 2 ~ 末尾 - 1 的字符串
    print(num_str[2:-1])
    
    # 截取字符串末尾两个字符
    print(num_str[-2:])
    
    # 字符串的逆序(面试题)
    print(num_str[::-1])

    5.3 运算符

     

    注意:

    • in在对字典操作时,判断的是字典的

    • in和 not in被称为成员运算符

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    面向对象的三个基本元素(封装是指封装数据),五个基本原则
    Qt HTTP请求同步调用
    Linux内核源代码
    浅谈程序员创业(要有一个自己的网站,最好的方式还是自己定位一个产品,用心把这个产品做好。或者满足不同需求的用户,要有特色)good
    创业泡沫的「军功章」,高薪低能的程序员要分走一半(做的工作都没啥技术含量,老是重复劳动,所以才管自己叫码农)
    x64系统的判断和x64下文件和注册表访问的重定向——补记
    在职业规划方面,左玥主要给了同学们以下几个忠告(4条建议全部同意)
    独角兽TOP300
    [置顶] C语言中各种数据类型的长度 sizeof char, short, int, long, long long
    FastDFS是纯C语言实现,只支持Linux,适合以中小文件为载体的在线服务,还可以冗余备份和负载均衡
  • 原文地址:https://www.cnblogs.com/KaifengGuan/p/12241889.html
Copyright © 2011-2022 走看看