首页 > 编程语言 >python3的数据结构

python3的数据结构

时间:2024-04-29 11:25:03浏览次数:21  
标签:What 元素 list 列表 python3 数据结构 append row

一.列表(列表可以修改,字符串和元组不能)
list.append(x)-把一个元素添加到列表的结尾-相当于 a[len(a):] = [x]
list.extend(L)-通过添加指定列表的所有元素来扩充列表-相当于 a[len(a):] = L
list.insert(i, x)-在指定位置插入一个元素- a.insert(0, x)会插入到整个列表之前-a.insert(len(a), x)相当于a.append(x)
list.remove(x)-删除列表中值为 x 的第一个元素-如果没有这样的元素就会返回一个错误
list.pop([i])-从列表的指定位置移除元素并将其返回-如果没有指定索引,a.pop()返回最后一个元素
list.clear()-移除列表中的所有项-del a[:]
list.index(x)-返回列表中第一个值为 x 的元素的索引
list.count(x)-返回 x 在列表中出现的次数
list.sort()-对列表中的元素进行排序
list.reverse()-倒排列表中的元素
list.copy()-返回列表的浅复制-a[:]
1.将列表当做堆栈使用
stack.append(7)
stack.pop()
2.将列表当作队列使用
queue.append("Graham")
queue.popleft()
3.列表推导式
[3*x for x in vec if x > 3]
4.嵌套列表解析(将3X4的矩阵列表转换为4X3列表)

[[row[i] for row in matrix] for i in range(4)]

transposed = []
for i in range(4):
   transposed.append([row[i] for row in matrix])

5.del 语句
二.元组和序列

t = 12345, 54321, 'hello!'
u = t, (1, 2, 3, 4, 5)
u
((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))

三.集合(无序不重复)

basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)                      # 删除重复的
{'orange', 'banana', 'pear', 'apple'}
'orange' in basket                 # 检测成员
True
'crabgrass' in basket
False

以下演示了两个集合的操作

a = set('abracadabra')
b = set('alacazam')
a                                  # a 中唯一的字母
{'a', 'r', 'b', 'c', 'd'}
a - b                              # 在 a 中的字母,但不在 b 中
{'r', 'd', 'b'}
a | b                              # 在 a 或 b 中的字母
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
a & b                              # 在 a 和 b 中都有的字母
{'a', 'c'}
a ^ b                              # 在 a 或 b 中的字母,但不同时在 a 和 b 中
{'r', 'd', 'b', 'm', 'z', 'l'}

四.字典
tel = {'jack': 4098, 'sape': 4139}
关键字和对应的值可以使用 items() 方法同时解读出来

knights = {'gallahad': 'the pure', 'robin': 'the brave'}
for k, v in knights.items():
    print(k, v)

gallahad the pure
robin the brave

同时遍历两个或更多的序列,可以使用 zip() 组合

questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue']
for q, a in zip(questions, answers):
    print('What is your {0}?  It is {1}.'.format(q, a))

What is your name?  It is lancelot.
What is your quest?  It is the holy grail.
What is your favorite color?  It is blue.

标签:What,元素,list,列表,python3,数据结构,append,row
From: https://www.cnblogs.com/donghao99/p/18165199

相关文章

  • .h5ad数据结构解释(anndata 数据格式)
    官方网站:https://anndata.readthedocs.io/en/latest/下面的内容官网都有概述h5ad文件提供了一种可扩展的方式来记录数据及其注释(annotation),主要包含X,obs,var,uns等多个部分,分别存储不同的信息。结构如下图所示X是表达量矩阵,用来联系obs和var。具体来说X是一个稀疏......
  • 数据结构周测错题小结
    小题:1、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元参考答案:D2、假定一个顺序存......
  • 王道数据结构第一章个人向笔记
    目录1.1.0导读1.1.1绪论1.1.2数据结构的三要素逻辑结构数据的运算物理结构(存储结构)1.2.1算法的基本概念1.2.2时间复杂度1.2.3空间复杂度1.1.0导读数据结构在学什么?如何用程序代码把显示世界的问题信息画如何用计算机高效地处理这些信息从而创造价值1.1.1绪论数据......
  • 数据结构与算法学习(1)——BFS(广度优先搜索)
    BFS基础BFS会从根节点开始搜索,在每一个路口面临分叉的时候,先把每个岔路记录下来,然后再去一个一个的往前走一步。节点进行广度优先搜索的顺序题目PS:下列题目均来自leetcode中灵神题单1311.获取你好友已观看的视频......
  • 数据结构_链表_双向循环链表的初始化、插入、删除、修改、查询打印(基于C语言实现)
    版本:2024年4月26日V1.0发布于博客园/***@filename:DoubleLinkedList.c*@brief:实现双向循环链表的相关功能*@author:[email protected]*@date:2024/04/26*@version:1.0*@note:*CopyRight(c)2023-2024RISE_AND......
  • 数据结构——链式栈
    二、链式栈构造链式栈//链式栈的有效数据类型,用户可以根据需要进行修改typedefintDataType_t;//构造单链式栈的结点typedefstructLinkedStack{DataType_tdata;//结点的数据域structLinkedStack*next;//结点的的指针域}LinStack_t......
  • 数据结构(笔试题-栈(入栈出栈)
    笔试题:实现//利用栈s1和s2实现队列,栈的思想是“后进先出”,队列的思想是“先进先出”,可以选择把栈s1作为入队缓存,把栈s2作为出队缓存//入队boolenQueue(s1,s2,intx){ inttemp;//用于存储出栈的元素的值 //1.判断栈s1是否已满,此时分为两种情况(满了or未满) if(s......
  • 数据结构—单链表队列头删尾插
    单链表队列的头删尾插/*************************************************/***@filename: 单链表队列的头删尾插.md*@brief实现对单链表队列的头删尾插*@[email protected]*@date2024/04/26*@version1.0:在下坂本,有何贵干*@property:no......
  • C语言数据结构:链式队列的创建及其出入队操作
    /**********************************************************************************************************该程序实现链式队列元素的增删改查,目的是提高设计程序的逻辑思维,另外为了提高可移植性,所以链式队列中元素*的数据类型为DataType_t,用户可以根据实际情况修改......
  • 数据结构-链表-2
    本函数功能为将查找单链表中的倒数第k个结点将其data输出<!--RevCount.c文件(查找单链表中的倒数第k个结点将其data输出)的实现-->/*******************************************************************************funcname:LinList_RevCount*function:......