4-python结构数据三兄弟

在这里插入图片描述

列表(list)

列表是以方括号 [] 包围的数据集合,不同成员之间用逗号 , 隔开,列表中可以包含任何数据类型,甚至是包含一个列表,列表可以通过序号(第一个是0)访问其成员。

创建列表与访问列表元素

  • 创建空列表的两种方法
>>> list()  
[]

>>>[]
[]
  • 创建单元素列表
>>>[1,]  #逗号可以省略
[1]
  • 创建包含不同元素的列表
>>>[1,2,3,'a','b',[4,5]]
[1,2,3,'a','b',[4,5]]
  • 访问列表元素
>>>L = [1, 2, 3, 'a', 'b', [4, 5]]
>>>L[0]
1

>>>L[5]
[4, 5]

列表运算

  • 加法
>>>a = [1,2]
>>>b = [3,4,5]
>>>a + b
[1,2,3,4,5]
  • 乘法
>>>L = ['a','b']
>>>L * 2
['a', 'b', 'a', 'b']

列表函数操作

先创建一个列表 list

函数操作描述
1list.append(x)在列表list尾部追加元素x
2list.extend(L)在list尾部追加另一个列表L
3list.insert(index, object)在列表index处插入数据object(可以是元素或其他数据类型的数据)
4list.count(x)返回参数x在列表中出现的次数
5list.index(x)返回x在列表中的序号(x不存在会报错)
6list.pop()删除列表最后一个成员,并返回这个成员
7list.remove(x)删除成员x(有多个则删除第一个),不存在会报错
8list.reverse()将列表顺序颠倒
9list.sort()将列表(可以排序时)排序

元组 (tuple)

元组与列表差不多,就是元组一旦被创建之后就不能被修改了,包括不能修改成员,不能改变顺序,不能增添或删除数据,任何企图修改元组的操作都会发生错误。

创建元组

  • 空元组
>>>()
()

>>>tuple()
()
  • 单元素元组
>>>(1,)  #逗号不能省略
(1,)     #注意含有逗号,与列表不同

>>>2,   #这样也可以
(2,)
  • 其他创建方法
>>>4,5
(4,5)

>>>x, y = 1, 3  #右边看成一个元组,x和y分别与各个成员绑定
>>>x
1
>>>y
3
  • 访问元组成员
>>>tpl = (1,2,3,4,5)
>>>tpl[0]
1
  • 试图修改元组会报错
>>>a = (1,2,3,4)
>>>a[0] = 111
print(a)

----------------------------------------------------------------
TypeError                      Traceback (most recent call last)
<ipython-input-42-8f66029cb740> in <module>
      1 a = (1,2,3,4)
----> 2 a[0] = 111
      3 print(a)

TypeError: 'tuple' object does not support item assignment

字典(dict)

字典是python中一种比较特别的数据类型,其中的每个成员是以 键:值 对的方式存在的。

字典的用大括号 {}键:值 集合包围,与列表最大不同之处是字典是无序的,在字典中通过 访问成员,而不能通过位置访问。

创建字典与访问成员

  • 空字典
>>>{}
{}

>>>dict()
{}
  • 非空字典
>>>D = {'a':1, 'b':2, 'c':3} #创建非空字典
>>>D['a']  #通过键访问成员
1

>>>D['0']  #试图通过位置访问成员,报错
----------------------------------------------------------------
KeyError                       Traceback (most recent call last)
<ipython-input-47-323f7d4379be> in <module>
      1 D = {'a':1, 'b':2, 'c':3}
----> 2 D[0]

KeyError: 0

字典操作函数

先创建一个字典 dic

字典操作描述
1dic.clear()清空字典dict
2dic.copy()复制字典
3dic.get(k,[default])获得键k的值,不存在则返回default
4dic.items()获得由键和值组成的迭代器
5dic.keys()获得由键组成的迭代器
6dic.values()获得由值组成的迭代器
7dic.pop(k)删除k:v 成员对
8dic.update(adict)从另一个字典更新成员(不存在就创建,存在就覆盖)
9dic.fromkeys(iter, value)根据列表或元组给定的键来创建字典,默认值为value
10dic.popitem()删除字典最后一个键值对 k:v 并返回它
11dic.setdefault(k,d)若字典中存在一个键k,则返回k对应的值;否则,在字典中创建键值对 k:d
  1. clear() 清空字典dict
    在这里插入图片描述
  2. copy() 复制字典
    在这里插入图片描述
  3. dic.get() 获得键k的值,不存在则返回default
    在这里插入图片描述
  4. dic.items() 获得由键和值组成的迭代器在这里插入图片描述
  5. dic.keys()获得由键组成的迭代器
    在这里插入图片描述
  6. dic.values()获得由值组成的迭代器
    在这里插入图片描述
  7. dic.pop() 删除k:v 成员对
    在这里插入图片描述
  8. dic.update() 从另一个字典更新成员(不存在就创建,存在就覆盖)
    在这里插入图片描述
  9. dic.fromkeys() 根据列表或元组给定的键来创建字典,默认值为value
    在这里插入图片描述
  10. dic.popitem() 删除字典最后一个键值对 k:v 并返回它
    在这里插入图片描述
  11. dic.setdefault 若字典中存在一个键k,则返回k对应的值;否则,在字典中创建键值对 k:d
    在这里插入图片描述
posted @   aJream  阅读(23)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示