day4 列表 字典 元组

本文详细介绍了Python中的三种基本数据结构:列表、元组和字典。包括每种数据结构的特点、基本操作方法及其应用场景,适合Python初学者快速掌握这些核心概念。
  元组  不能修改里面的数据
      字典是无序的集合  通过键名来访问元素
      列表是有有序的  通过下标来访问    可以进行修改
 
 
 
列表  []   是python中使用最频繁的数据类型
               通常放的是同类型  可以放不同类型  通常放同类型 
               索引(下标)从0开始 有序的
1.获取某个元素 
               list[ 下标 ]
2.添加元素   list.append( ) ----- 每次只能添加一个元素,在末尾追加数据
                 list.extend([ 4,5,6,7,8 ])  ----  可以添加多个元素
                 list.insert(索引,元素) -----  在指定位置插入数据(位置前有空元素会补位)
3.删除
        del 列表[索引]   删除指定索引的元素
        list.remove(元素)  删除第一个出现的指定元素
        list.pop()  ---------  删除最后一个元素
        list.pop(索引) ------  删除指定索引元素
        list.clear()  -----------  清空列表(慎用)
4.修改  
       list[索引]=元素  ----------- 修改指定索引的元素
5.查询
       list[索引]  -----    根据索引取值
       len(列表)  ------  列表的长度(个数)
       if  元素  in 列表   -----  查看是否包含某元素
6.排序
       list.sort()   ------  升序  ( list.sort() 等于 list.sort(reverse =False) )
       list.sort(reverse =True)  -------   降序
7.for 循环遍历列表
       for  变量  in  list
8.应用场景
       在开发中 ,应用更多的场景是
          列表 储存相同类型的元素
          for循环  再循环体内部,对列表中的每一项元素执行相同的操作
 
元组 tuple    ( )  
    1.(元素,) ----  逗号很关键   创建一个元组,如果元组中只有一个人元素,要加逗号,   没有逗号是整型
    2.     元组不能修改里面的数据
          强制修改    元组转换列表   改完在转过来
    3.   遍历元组(for循环)
    4.判断元组中是否存在某个元素
         if  元素  in  元组:
    5.元组的操作
         tuple.count   --------  元素在元组中出现的次数
     len(元素)     -----  元组的长度
    6.元组的拆包
        a,b,c = tuple  ------ 元组数据自行拆包
    7.应用场景
       %(  ,  ) ----   格式化字符后面的()本身就是一个元组
     
 
字典    dict  {}
1.格式
     dict = {key:value,key:value}
2.通过键名搜索值
     dict[键名]
3.字典 添加元素  修改元素
    dic[键] = 数据 -------  键不存在 会添加键值对,键存在会修改键值对的值
4.删除
    dic.pop(键) ----   删除指定键值对
    dic.clear  -----   清空字典
5.查询
    dic[键]   -----   取出指定的值
6.遍历
    for  变量 in dic:  ----  默认是键名
    for  变量  in  dic.keys()  ---  输出键名
   for   变量  in  dic.items()  ------   获取所有的键值对
7.应用场景
     在开发中,使用多个键值对,存储一个物体的相关信息--------,描述比较复杂的数据信息  通常将多个字典放入一个列表  进行遍历
 

转载于:https://www.cnblogs.com/ZT-GJ/p/9478080.html

### Python字典元组的区别 #### 数据结构特点 字典是一种可变的数据容器,存储的是键值对形式的数据。它允许快速查找、插入和删除操作,基于哈希表实现[^1]。 元组则是一个不可变序列,一旦创建就不能更改其内容。它的特点是轻量级且性能高效,在需要固定数据集的情况下非常适用[^2]。 --- #### 主要区别 | 特性 | 字典 | 元组 | |--------------|----------------------------------------------------------------------------------------|---------------------------------------| | **可变性** | 可变:可以随时添加、修改或删除键值对 | 不可变:无法修改已存在的元组内容 | | **用途** | 存储键值对关系,适合用于映射型数据结构 | 存储有序的常量集合 | | **内存占用** | 较高,由于内部维护了一个哈希表来支持高效的查找 | 较低,因为它只是一段连续的内存区域 | | **速度** | 查找速度快,但由于动态特性可能稍慢于元组 | 访问速度快 | | **语法表示** | `{key1: value1, key2: value2}` | `(item1, item2)` | --- #### 使用场景 ##### 字典 - 当需要频繁地通过键访问对应的值时,比如配置文件解析、数据库记录处理等。 - 需要在运行时动态增加或移除条目。 - 示例代码如下: ```python my_dict = {"name": "Alice", "age": 25} my_dict["city"] = "New York" # 添加新键值对 print(my_dict.get("name")) # 获取值 Alice ``` ##### 元组 - 表达一组固定的值,例如日期 (年,月,日),RGB颜色值 (R,G,B) 或地理坐标 (纬度,经度)[^3]。 - 函数返回多个值时常用作返回类型。 - 示例代码如下: ```python coordinates = (40.7128, -74.0060) year_month_day = (2023, 9, 15) rgb_color = (255, 0, 0) ``` --- #### 嵌套使用 两者均支持嵌套,即可以在字典中嵌入元组作为值,或者在元组中嵌入字典作为元素。这种灵活性使得复杂数据结构得以构建。 示例代码: ```python nested_data = { "person": ("John Doe", 30), # 键为字符串,值为元组 "grades": [(2020, 85), (2021, 90)] # 键为字符串,值为列表中的元组 } tuple_with_dict = ( {"id": 1, "name": "Item A"}, # 元组的第一个元素是字典 {"id": 2, "name": "Item B"} # 元组的第二个元素也是字典 ) print(nested_data["person"][0]) # 输出 John Doe print(tuple_with_dict[0]["name"]) # 输出 Item A ``` --- #### 浅拷贝与深拷贝的影响 当涉及字典元组的复制时,需要注意浅拷贝和深拷贝的行为差异。对于包含嵌套对象的情况,浅拷贝仅复制外层引用而不影响内层对象;而深拷贝会完全克隆整个层次结构。 示例代码: ```python import copy original_dict = {"data": [1, 2, 3]} shallow_copy = original_dict.copy() deep_copy = copy.deepcopy(original_dict) shallow_copy["data"].append(4) # 修改会影响原字典 print(original_dict["data"]) # 输出 [1, 2, 3, 4] deep_copy["data"].append(5) # 修改不会影响原字典 print(original_dict["data"]) # 输出仍为 [1, 2, 3, 4] ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值