资讯专栏INFORMATION COLUMN

python中的数据结构比较

wthee / 757人阅读

摘要:列表列表中的每一个元素都是可变的,有序的,可以被查看索引的。字典中的数据必须以键值对的形式出现键不可重复,值可重复字典中键是不可变的,为不可变对象,不能进行修改而值是可以修改的,可以是任何对象。集合中每个元素都是无序的不重复的任意对象。

列表:list=[val1,val2]

1.列表中的每一个元素都是可变的,有序的,可以被查看索引的。
可变意味着可以对每个元素进行增删改查的操作,列表中的元素可以是Python中的任何对象

(1)创建列表的方法:

  一.是用方括号[]直接赋值,赋一组以逗号隔开的值;
            
       newlist=[1,2,3]
       print(newlist) #[1, 2, 3]
       print(type(newlist)) #查看类型为:
                
  二.是调用list函数进行定义。
       
       tup=("q","w","e")
       print(type(tup)) #
       change_tup=list(tup)
       print(type(change_tup))#
   

(2)增加操作

   一.通过append方法,可以将元素添加到列表的末尾
    
   change_tup.append("f")
   print(change_tup) #["q", "w", "e", "f"] 

   二.利用insert可以将元素插入到列表的指定位置
   
   change_tup.insert(0,"a")
   print(change_tup) #["a", "q", "w", "e", "f"]
   
   三.extend将指定序列的元素依次追加到列表的尾部(合并),
   不会去重复内容
   
   addlist=["b","c","a"]
   change_tup.extend(addlist)
   print(change_tup) #["a", "e", "f", "b", "c", "a"]
   

(3)删除操作

   一.pop用于删除除并返回指定索引处的元素
   
   change_tup.pop(1)
   print(change_tup) #["a", "w", "e", "f"]
   
   二.remove用于按值删除元素,它找到第一个符合要求的值
   然后将其从列表中删除 

   change_tup.remove("w")
   print(change_tup) #["a", "e", "f"] 

   三.del删除整个列表或列表的数据,del 是 python 内置功能,
   不是列表独有的                        
    
   del change_tup[-1]
   print(change_tup)#["a", "e", "f", "b", "c"]
    

(4)查找操作

index(元素名):获取查询元素在列表中的索引值
count(元素名):统计某元素在列表中出现的次数
if 某元素 in 列表名:判断某元素是否在列表内

(5)修改操作

list[index] = value
reverse():反转列表
sort():从原列表上按从小到大排序
sorted(列表名)生成新列表按从小到大进行排序

(6)特殊操作

max(列表名):最大值
min(列表名):最小值
      
字典:dict={key1:val1,key2:val2}

1.字典中的值是可变的,无序的。
2.字典中的数据必须以键值对的形式出现
3.键不可重复,值可重复
4.字典中键(key)是不可变的,为不可变对象,不能进行修改;而值(value)是可以修改的,可以是任何对象。

(1)增加操作
变量名[key]=value 通过 key 添加 value 值,如果 key 存在则覆盖
setdefault(key,default_value) 指定 key 和 value,如果 key 存在则覆盖

(2)删除操作
pop 弹出,返回并删除指定键对应的值
popitem 随机弹出一个键值元组,这里随机的原因是因为字典无序
clear 清空字典

(3)修改操作
变量名[key]=value 通过 key 添加 value 值,如果 key 存在则覆盖
update() 传递一个字典,如果 key 相同则覆盖,没有的 key 则添加

(4)查找操作
keys 返回一个包含字典所有 key 的列表
values 返回一个包含字典所有 vaule 的列表
get 以键取值,如果指定键不存在,默认返回 None,可以指定返回内容
update 以字典格式更新指定键的内容,如果键不存在,创建键和值
items 返回字典键值呈元组形式的格式

元组:tuple=(val1,val2)

1.元组是不可修改,但可以被查看索引的
2.空的tuple可以记为(),若只有一个元素的tuple记为(1,)
(1)枚举
遍历的时候使用:重新生成下标和元素的元组

t=(1,2,3)
for i in enumerate(t):
    print(i)#(0, 1)(1, 2)(2, 3)

(2)查找操作
index(元素名) 从左往右返回第一个遇到的指定元素的索引,如果没有,报错
count(元素名) 返回元组当中指定元素的个数

(3)应用场景
字符串格式化需要使用元组
函数返回多个返回值时返回的是元组类型
一些内置函数的返回值是元组类型

集合:set={val1,val2}

1.集合中是不可变的,无序的。
2.集合更接近数学上集合的概念。集合中每个元素都是无序的、不重复的任意对象。
3.集合不能被切片,不能被索引,除了做集合运算之外,集合元素可以被添加和删除。

(1)增加操作
add(elem)
update([elem]/(elem)/"elem")

(2)删除操作
remove(elem)
discard(elem)
pop()
clear()

(3)查找操作
in
not in

(4)使用场景
去重

5.其他方法

1.查各个数据长度:
len(类型名)

2.数据类型是否可变
可变定义:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变
可变:列表,字典 ,集合
不可变:数字,字符串,元组

3.列表,元组,集合的解包

a,*b = [1,2,3] a=1,b=2,3
*a,b = [1,2,3] a=1,2 b=3

以列表为列子,其他两种类型同理

4,列表,元组的合并和重复

l1=[1,2]
l2=[3,4]
print(l1+l2)
print(l1*2)

元组同理

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20021.html

相关文章

  • python与R(对比SAS),我该选择哪种工具?

    摘要:然而,它最终变成了一种昂贵的选择,并不总是具有最新的统计功能。对于大多数专业人士而言,这是昂贵的且没有能力以个人身份购买。 showImg(https://segmentfault.com/img/remote/1460000019466629); 介绍 我们热衷于比较! 从智能手机中的三星,苹果和HTC,移动操作系统中的iOS,Android和Windows,到即将进行选举的候选人的...

    BDEEFE 评论0 收藏0
  • Python入门-基本语法1

    摘要:根据有效范围作用域分为全局变量和局部变量。类型以开头标识类型以开头标识类型以进制的字节码表示,实际上是一个字节串,回应了它的另一个名字。 < 返回索引页 基本语法 Hello World 代码注释 关键字 数据类型 变量、常量 变量 变量赋值 变量命名 变量的作用域 常量 字符串与编码 字符转义 字符编码 字符串操作 运算符与表达式 运算符 表达式 ...

    ingood 评论0 收藏0
  • Python标准库---11、内置类型:迭代器类型、序列类型(list-typle-range)

    摘要:上一篇文章标准库内置类型数字类型下一篇文章标准库内置类型文本序列类型迭代器类型支持在容器中进行迭代的概念。该对象需要支持下文所述的迭代器协议。这是同时允许容器和迭代器配合和语句使用所必须的。 上一篇文章:Python标准库---10、内置类型:数字类型下一篇文章:Python标准库---12、内置类型:文本序列类型(str) ## 迭代器类型Python 支持在容器中进行迭代的概念。...

    syoya 评论0 收藏0
  • 从能做什么到如何去做,一文带你快速掌握Python编程基础与实战

    摘要:本文的分享主要围绕以下几个方面能做什么常见应用场景介绍如何学习语法基础实战面向对象编程实战练熟基础小游戏项目的实现与实战一能做什么一种编程语言往往可以应用于多方面,有些方面比较常用,有些方面极为常用。比如表示是一个空列表。 摘要:Python语言的教程虽然随处可见,但是忙于日常业务/学习的你或许:一直想要找个时间学一点,但是又不知道该从何下手?本文将从Python能做什么,如何学习Py...

    BLUE 评论0 收藏0
  • Python学习之路23-文本和字节序列

    摘要:字符编码表,码位码元将编码字符集中的码位转换成有限比特长度的整型值的序列。字符编码方案,码元序列化也称为常说的序列化。每个字节里的二进制数就是字节序列。另一个情况则是压缩字节序列的值,如或进程长度编码等无损压缩技术。 《流畅的Python》笔记。本篇主要讲述不同编码之间的转换问题,比较繁杂,如果平时处理文本不多,或者语言比较单一,没有多语言文本处理的需求,则可以略过此篇。 1. 前言 ...

    anRui 评论0 收藏0
  • Python的 is 和 == 弄懂了吗?

    摘要:中对象包含的三个基本要素,分别是身份标识数据类型值对象之间比较是否相等可以用,也可以用。和都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。是标准操作符中的比较操作符,用来比较判断两个对象的值是否相等。 showImg(https://segmentfault.com/img/remote/1460000018591895?w=601&h=203); 在Python中一切都...

    zhongmeizhi 评论0 收藏0

发表评论

0条评论

wthee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<