返回顶部
首页 > 资讯 > 后端开发 > Python >五--python之数据结构(Data
  • 849
分享到

五--python之数据结构(Data

数据结构pythonData 2023-01-31 00:01:07 849人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

1、列表list:a=[value1,value2,value3,value4,…]方法论methods:list.append(x)  #列表追加,等同于a[len(a):] = [x]list.extend(L)   #列表加长,等同于

1、列表list:a=[value1,value2,value3,value4,…]

方法论methods:

list.append(x)  #列表追加,等同于a[len(a):] = [x]list.extend(L)   #列表加长,等同于a[len(a):] = Llist.insert(i, x)   #列表插入,a.insert(len(a), x)等同于a.append(x)list.remove(x)  #列表删除,从first查找value=xlist.pop([i])       #列表剔除并返回值,默认a.pop()是remove the last onelist.index(x)      #返回value=x的索引号list.count(x)     #返回value=x出现的次数list.sort(cmp=None, key=None, reverse=False)  #等同于sorted(iterable[, cmp[, key[, reverse]]])函数list.reverse()   #列表反向

应用论using:

1、堆栈Stacks>>> stack = [3, 4, 5]>>> stack.append(6)>>> stack.append(7)>>> stack
[3, 4, 5, 6, 7]>>> stack.pop()7
>>> stack
[3, 4, 5, 6]>>> stack.pop()6
>>> stack.pop()5
>>> stack
[3, 4]
2、队列Queues>>> from collections import deque>>> queue = deque(["Eric", "John", "Michael"])>>> queue.append("Terry")           # Terry arrives>>> queue.append("Graham")          # Graham arrives>>> queue.popleft()                 # The first to arrive now leaves'Eric'>>> queue.popleft()                 # The second to arrive now leaves'John'>>> queue                           # Remaining queue in order of arrivaldeque(['Michael', 'Terry', 'Graham'])

工具论tools:

filter(function, sequence)    #返回sequence中符合function的值>>> def f(x): return x % 3 == 0 or x % 5 == 0
...>>> filter(f, range(2, 25))
[3, 5, 6, 9, 10, 12, 15, 18, 20, 21, 24]
map(function, sequence)     #返回一个由function生成的列表>>> def cube(x): return x*x*x
...>>> map(cube, range(1, 11))
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
reduce(function, sequence)     #返回sequence前两个items在function中值>>> def add(x,y): return x+y
...>>> reduce(add, range(1, 11))55

 

##如果sequence中只有一个值,返回之>>> def sum(seq):
...     def add(x,y): return x+y
...     return reduce(add, seq, 0)
...>>> sum(range(1, 11))55
>>> sum([])
0

另类函数del a[index1:index2]

>>> a = [-1, 1, 66.25, 333, 333, 1234.5]>>> del a[0]>>> a
[1, 66.25, 333, 333, 1234.5]>>> del a[2:4]>>> a
[1, 66.25, 1234.5]>>> del a[:]>>> a
[]>>> del a>>> a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>NameError: name 'a' is not defined#### 列表a已被清除

 

2、元组(Tuples)和序列(Sequences )

>>> t = 12345, 54321, 'hello!'>>> t[0]12345
>>> t
(12345, 54321, 'hello!')>>> # Tuples may be nested:... u = t, (1, 2, 3, 4, 5)>>> u
((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))###元组在输出时总有括号,输入时可有可无。元组可用于表示坐标点,员工记录;元组就像字符串,不可更改,不可单独赋值
##包含0个或一个元素的元组>>> empty = ()>>> singleton = 'hello',    # <-- note trailing comma>>> len(empty)
0>>> len(singleton)1
>>> singleton
('hello',)

3、字符集sets

无序的,没有重复的字符集合。创建字符集用set()函数,而不是set{}

>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']>>> fruit = set(basket)               # create a set without duplicates>>> fruit
set(['orange', 'pear', 'apple', 'banana'])>>> 'orange' in fruit                 # fast membership testingTrue>>> 'crabgrass' in fruit
False>>> # Demonstrate set operations on unique letters from two Words...>>> a = set('abracadabra')>>> b = set('alacazam')>>> a                                  # unique letters in aset(['a', 'r', 'b', 'c', 'd'])>>> a - b                              # letters in a but not in bset(['r', 'd', 'b'])>>> a | b                              # letters in either a or bset(['a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'])>>> a & b                              # letters in both a and bset(['a', 'c'])>>> a ^ b                              # letters in a or b but not bothset(['r', 'd', 'b', 'm', 'z', 'l'])

4、终于轮到字典了

>>> tel = {'jack': 4098, 'sape': 4139}>>> tel['guido'] = 4127
>>> tel
{'sape': 4139, 'guido': 4127, 'jack': 4098}>>> tel['jack']4098
>>> del tel['sape']>>> tel['irv'] = 4127
>>> tel
{'guido': 4127, 'irv': 4127, 'jack': 4098}>>> tel.keys()
['guido', 'irv', 'jack']>>> tel.has_key('guido')
True###链表中存储关键字-值对元组的话,字典可以从中直接构造。关键字-值对来自一个模式时,可以用链表推导式简单的表达关键字-值链表。>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
{'sape': 4139, 'jack': 4098, 'guido': 4127}>>> dict([(x, x**2) for x in vec])     # use a list comprehension{2: 4, 4: 16, 6: 36}

--结束END--

本文标题: 五--python之数据结构(Data

本文链接: https://lsjlt.com/news/182826.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 五--python之数据结构(Data
    1、列表list:a=[value1,value2,value3,value4,…]方法论methods:list.append(x)  #列表追加,等同于a[len(a):] = [x]list.extend(L)   #列表加长,等同于...
    99+
    2023-01-31
    数据结构 python Data
  • python数据结构之quick_sor
    Quick sort , also known as partition-exchange sort, divides the data to be sorted into two separate parts by a single s...
    99+
    2023-01-30
    数据结构 python quick_sor
  • python数据结构之 set
     在数学概念中,被意为整合元素的定义区域在python中,set最大的作用是用来去重 set常见操作:In [158]: s ={1,1,1,1,2,22,33,3,3,3} In [159]: sOut[159]: {1,2, 3, 22...
    99+
    2023-01-31
    数据结构 python set
  • Redis的五种数据结构
    Redis的有几种数据结构?相信很多人对于Redis的五种数据结构的了解处于一知半解状态,小编给大家总结了以下内容。如下资料是关于Redis的五种数据结构的内容。Redis 是一个高性能的key-value...
    99+
    2024-04-02
  • python数据结构之链表
    '''' 链表的实现,单向链表 ''' '''建立节点''' class jd:     def __init__(self,data):         self.data = data         self.next = None...
    99+
    2023-01-31
    数据结构 链表 python
  • Python数据结构之栈详解
    目录0. 学习目标1. 栈的基本概念1.1 栈的基本概念1.2 栈抽象数据类型1.3 栈的应用场景2. 栈的实现2.1 顺序栈的实现2.1.1 栈的初始化2.2 链栈的实现2.3 栈...
    99+
    2024-04-02
  • python数据结构之链表(linked
    目录 基础 知识 1.1 链表的基本结构 1.2 节点类和链表节点的定义 1.3 顺序打印和逆序打印 链表的基本操作 2.1 计算链表长度 2.2 从前,后插入数据 2.3 查找与删除 参考 1.基础 知识 1....
    99+
    2023-01-31
    数据结构 链表 python
  • Python数据结构之图的存储结构详解
    一、图的定义 图是一种比树更复杂的一种数据结构,在图结构中,结点之间的关系是任意的,任意两个元素之间都可能相关,因此,它的应用极广。图中的数据元素通常被称为顶点 ( V e r t ...
    99+
    2024-04-02
  • 详解python数据结构之栈stack
    前言 栈(Stack)是一种运算受限的线性表。 按照先进后出(FILO,First In Last Out)的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶。栈只能在一端进行插入和删除操作。 文章内容包含: ...
    99+
    2022-06-02
    python 栈stack python数据结构
  • Python数据结构之翻转链表
    翻转一个链表 样例:给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 一种比较简单的方法是用“摘除法”。就是先新建一个空节点,然后...
    99+
    2022-06-04
    数据结构 链表 Python
  • Python 数据结构之旋转链表
    题目描述:给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数 样例:给出链表1->2->3->4->5->null和k=2;返回4->5->...
    99+
    2022-06-04
    数据结构 链表 Python
  • Python基础之数据结构详解
    目录一、列表1.1 列表更新元素1.2 列表增加元素1.3 列表删除元素1.4 列表的其他操作二、元组2.1 删除元组2.2 元组的其他操作三、字典3.1 字典删除元素3.2 字典的...
    99+
    2024-04-02
  • Python数据结构之队列详解
    目录0. 学习目标1. 队列的基本概念1.1 队列的基本概念1.2 队列抽象数据类型1.3 队列的应用场景2. 队列的实现2.1 顺序队列的实现2.2 链队列的实现2.3 队列的不同...
    99+
    2024-04-02
  • 用Python实现数据结构之树
    树是由根结点和若干颗子树构成的。树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构。在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树...
    99+
    2023-01-30
    数据结构 之树 Python
  • 用Python实现数据结构之栈
    栈是最简单的数据结构,也是最重要的数据结构。它的原则就是后进先出(LIFO),栈被使用于非常多的地方,例如浏览器中的后退按钮,文本编辑器中的撤销机制,接下来我们用Python来具体实现这个数据结构。 栈中的方法 作为一个栈(用S来表示...
    99+
    2023-01-30
    数据结构 Python
  • python数据结构之选择排序
    选择排序(select_sort)是一个基础排序,它主要通过查找已给序列中的元素的最大或者最小元素,然后将其放在序列的起始位置或者结束位置,并通过多次这样的循环完成对已知序列的排序,在我们对n个元素进行操作时,我们至少需要n-1次。 de...
    99+
    2023-01-30
    数据结构 python
  • python数据结构之希尔排序
    def shell_sort(alist): n=len(alist) gap= int(n / 2) #步长 while gap>0: for i in range(gap,n): ...
    99+
    2023-01-30
    希尔 数据结构 python
  • python数据结构之面向对象
    目录1. 面向对象编程2. 构建类3. 继承3.1 继承案例前文学习: python数据结构:数据类型.python数据结构输入输出及控制和异常. 今天我们来学习面向对象编程,面向对...
    99+
    2024-04-02
  • python数据结构之搜索讲解
    目录1. 普通搜索2. 顺序搜索1.1 无序下的顺序查找1.2 有序下的顺序查找2.二分查找3.散列查找3.1 几种散列函数3.2 处理散列表冲突3.3 散列表的实现(加1重复)4....
    99+
    2024-04-02
  • Python数据结构之链表详解
    目录0.学习目标1.线性表的链式存储结构1.1指针相关概念1.2指针结构1.3结点1.4结点类2.单链表的实现2.1单链表的初始化2.2获取单链表长度2.3读取指定位置元素2.4查找...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作