美文网首页
python基本数据结构

python基本数据结构

作者: gpfworld | 来源:发表于2019-08-17 14:43 被阅读0次

Python

数据主要分为:

  • 整数型 ;数字的整数
  • 浮点型; 数字带小数
  • 字符串; 用 ‘’ 或者 “” 引用的任意文本
  • 布尔型;只有 True 和 ``False

数据结构分为:

  • 列表 list
  • 元祖 tuple
  • 字典 dict
  • 集合 set

列表-list

list是一种有序的集合,可以随时添加和删除其中的元素。

创建列表 用 [] 符号

list索引为0开始的,索引0 表示第1个元素,以此类推


#创建一个list 列表
L=[1,"hello",True,1.2]
print(L)#打印出L列表
print(len(L))#利用len()方法查询列表的长度
print(L[0],L[1])#根据索引 查询 列表中的数据,索引是从0 开始的
#切片方法活用
print(L[0:2])# 切片 从索引0 到 1提取list的元素
print(L[1:0])#q切片 从索引1到最后的元素全部提取
print(L[-1])#提取倒数第一个元素
print(L[-3:0])#倒数第三个元素 往后提取
print(L[::2])#切片 步长为2
print(L[::-1])#倒叙 打印出list

append方法每次只能在末尾填入一个元素;
insert方法可在指定的位置插入一个元素;
L.append('python')#在列表的最后插入元素
L.insert(0,"Love")

pop方法在不指定参数时默认删除末尾元素,也可以指定删除某个位置的元素;
remove方法删除指定的元素值;
clear方法清空列表元素;
del函数删除列表对象;
L.pop()#末尾删除一个元素
print(L)
L.pop(1)#指定一个位置删除一个元素
print(L)
L.remove(True)
print(L)
L.clear()
print(L)

copy方法复制一个物理对象,而非视图对象;
count方法计数;
index方法返回索引位置;
reverse方法实现元素颠倒;
sort方法排序
L1=['a','a','b','c','d','e','f','g']
L2=L1.copy()#复制list
print(L2)
print(L1.count('a'))#计“a”出现吃次数
print(L1.index('b'))#反为b的索引位子
L1.reverse()#颠倒元素
print(L1)
L1.sort()#默认升序排序
print(L1)</pre>

元组

是不可变的序列,没有增,删,改的权限;

只能查询和使用索引,切片等一些功能

元组最大的好处是可以保证数据的安全。

T=(1,2,'a','b')
print(T)
print(T[0])
print(T[0:2])</pre>

字典

花括号{}或dict函数来构造键-值对

#创建名字和年龄的字典,名字为键,年龄为值
name_age={"da_wang":27,"liu":26,"kong":12}
print(name_age)
print(name_age["kong"])
#根据key值 从新付给新的数据
name_age["kong"]=27
print(name_age)
#要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
print(name_age.pop("liu"))

#要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
print("da" in name_age)
#通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:
print(name_age.get("da_wang"))

List比较,dict有以下几个特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。

而list相反:

  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法。

dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象

集合:

集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。

可以用大括号({})创建集合。注意:如果要创建一个空集合,你必须用 set() 而不是 {} ;

>>> # 以下演示了两个集合的操作
...
>>> 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'}</pre>

http://www.runoob.com/python3/python3-data-structure.html

扩展:

内置标准库模块:collection

我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型:

  • namedtuple(): 生成可以使用名字来访问元素内容的tuple子类
  • deque: 双端队列,可以快速的从另外一侧追加和推出对象
  • Counter: 计数器,主要用来计数
  • OrderedDict: 有序字典
  • defaultdict: 带有默认值的字典

https://www.cnblogs.com/zhizhan/p/5692668.html

deque

import collections 
d = collections.deque()
索引方式:
d[0]  d[-1]  
x.append():在列表的右边添加
x.appendleft():在队列的左边添加
x.pop():移除元素并返回,从右边
x = d.pop()
x.popleft():移除元素并返回,从左边

x.clear():清空列表
x.count():队列某个元素出现的次数
x.extend():往右边扩展,添加多个数据
d.extend([3,4,5])
x.extendleft():往左边扩展

x.insert():指定位置插入元素
d.insert(2,'z')

x.reverse():反转
x.rotate():把后面的元素放到前面,转圈的形式
d.extend(['a','b','c','d','e'])
d.rotate(2)  
#输出:deque(['d', 'e', 'a', 'b', 'c'])

x.index():取队列的索引位置,默认从左
d.index('e')</pre>

相关文章

  • 2020-02-09python学习

    python基本数据结构(八) 逐个打印元素 Python code structures switch case

  • python快速入门

    面对过程: 面对对象: 数据结构 python最基本的数据结构是 序列 python包括6种内建数据序列:列表、元...

  • 数据结构

    概念 数据结构是通过某种方式组织在一起的数据元素的集合; python中,最基本的数据结构是序列; python中...

  • 03-Python数据结构-List列表

    一、Python 列表(Lists) 列表是Python中最基本的数据结构,列表是最常用的Python数据类型 列...

  • 深入Python数据结构(一)——list

    1. 前言 列表是Python中最基本的数据结构。类似于数据结构中的广义表[?]。列表是最常用的Python数据类...

  • Python爬虫实战入门一:工具准备

    一、基础知识 使用Python编写爬虫,当然至少得了解Python基本的语法,了解: 基本数据结构 数据类型 控制...

  • Python爬虫实战入门一:工具准备

    一、基础知识 使用Python编写爬虫,当然至少得了解Python基本的语法,了解: 基本数据结构 数据类型 控制...

  • python学习计划

    第一周: Python基础:python的简介、搭建Python开发环境、基本的数据类型、数据结构(列表、字典、元...

  • Python爬虫实战入门之工具准备,适合新手的你

    一、基础知识 使用Python编写爬虫,当然至少得了解Python基本的语法,了解: 基本数据结构数据类型控制流函...

  • python 基本数据结构(队列)

    开篇 python基本数据结构重点讲这些数据结构的特点,怎么使用这些数据结构,不讲具体实现,作者认为学习实现这些数...

网友评论

      本文标题:python基本数据结构

      本文链接:https://www.haomeiwen.com/subject/uxwxlctx.html