• 软件:1160
  • 资讯:41590|
  • 收录网站:97880|

IT精英团

简要描述Python中常见的数据结构

简要描述Python中常见的数据结构

浏览次数:
评论次数:
编辑: 阳煦
信息来源: ITPUB
更新日期: 2021-06-04 16:31:16
摘要

Python中常见的数据结构有列表(list)、元组(tuple)、集合(set)、字典(dict)等,这些数据结构表示了自身在Python中的存在形式,在Python中可以输入type(对象)查看数据类型。列表(1)创建列表列表是Python内置的一种数据类型,它是一种有序的数据集合,是用于存储一" />

-->
  • 资讯详情

Python中常见的数据结构包括列表、元组、集合、dict等。这些数据结构在Python中表示它们现有的形式,可以输入type (object)来查看Python中的数据类型。

1列表

(1)创建列表

List是Python内置的数据类型,是有序的数据集合,是存储一系列元素的容器。列表用[]表示,列表中的每个元素可以相同也可以不同。

In [1]: list1=['wellcom ',' to ',' the ',' sjwjyais 1688 ']In[2]: list 1 out[2]:[' well com ',' to ',' sjyais 1688 ']In[3]: list 2=[' well com ',' to ',' the ',' sjwjyais 1688 ',6,6]In[4]: list 2 out[4]3366

在[5] :列表中(['肖','肖',' wa ',' ju ',' Ji ',666]出[5] : ['肖','肖',' wa ',' ju ',' Ji ',)

在[7]:[' welcom ',' to ',' te'] ['xiao ',' xiao ',' ji ',' 666']出[7]:[' welcom ',' to ',' te ',' xiao ',' xiao ',' ji ',' 666 '](2)列表的方法

Python中的列表对象内置了一些方法。这里主要介绍常用的追加方法和扩展方法。

append方法是指在现有列表的末尾添加一个元素,这在Python循环控制语句中是常用的。具体例子如下:

In [8]: list2=['a ',' B ',' C ']In[9]: list 2 . append(' D ')In[10]: list 2 out[10]:[' A ',' B ',' C ',' d']In[11]:list3=['e ',[12]: list 2 list 3 out[12]:[' A ',' B ',' C ',' D ',' E ',' F '

  • In [11]: list2 = [,1,2]
    In [12]: list2.extend([3,4,5])
    In [13]: list2Out[13]: [0, 1, 2, 3, 4, 5]
    2元组


    元组与列表类似,区别在于列表中的元素可以修改,而元组中的元素只能读取,不可更改。


    (1)创建元组

    创建元组的代码示例如下:

    In [14]: tuple1=1,2,3
    In [15]: tuple2="sjwjyaisf1688","xiaoxiaowajueji666"
    In [16]: tuple3=(1,2,3,4)
    In [17]: tuple4=()
    In [18]: tuple5=(1,)
    In [19]: print(tuple1,tuple2,tuple3,tuple4,tuple5)(1, 2, 3) ('sjwjyaisf1688', 'xiaoxiaowajueji666') (1, 2, 3, 4) () (1,)

    从上面的结果我们可以简单地总结出创建元组的几个要点:

    • 逗号分隔元组中的值,元组自动创建完成;

    • 元组大多数时候是被括号包围起来的;

    • 可以创建一个空元组,空元组外层只有一对括号;

    • 只含一个值的元组,必须在元组中加个逗号(,)。

    与列表类似,元组也支持加法操作,即将两个或多个元组合并为一个元组。

    In [20]: (1,2,3)+(4,5,6)Out[20]: (1, 2, 3, 4, 5, 6)

    (2)元组赋值

    需要注意的是,列表可以进行赋值操作,而元组则不可进行赋值操作。具体示例如下:

    In [21]: list2[1]='a'

    In [22]: list2Out[22]: [0, 'a', 2, 3, 4, 5]

    In [23]: tuple1[1] = 'a'---------------------------------------------------------------------------TypeError Traceback (most recent call last)<ipython-input-23-8b1c599ad6fe> in <module>()----> 1 tuple1[1] = 'a'

    TypeError: 'tuple' object does not support item assignment

    可以看到,对列表进行赋值操作可以顺利完成,但试图对元组进行赋值操作则会报错,这也体现了元组中的元素不可更改的特点。


    3集合

    在Python中,集合是一种特殊的数据结构,集合中的元素不能重复。可以通过列表、字典或字符串等数据结构来创建集合,也可以通过“{}”符号进行创建。在实际应用中,集合主要有两个功能,一是进行集合操作,二是消除重复元素。

    In [24]: drink = {'water','milk','lemonade','beer','sprite'}
    In [25]: drinkOut[25]: {'beer', 'lemonade', 'milk', 'sprite', 'water'}
    In[26]:drink = set(['water','milk','lemonade','beer','sprite','milk'])
    In [27]: drinkOut[27]: {'beer', 'lemonade', 'milk', 'sprite', 'water'}另外,Python支持数学上的集合运算,包括差集、交集、并集等,假设有两个集合A、B:In [28]: A = {1,2,3,4,5,6}
    In [29]: B = {3,4,5}

    下面分别举例说明。


    1)求集合A与集合B的差集,即集合A的元素去除集合A、B共有部分的元素:

    In [30]: A-BOut[30]: {1, 2, 6}

    2)求集合A与集合B的并集,即集合A与集合B的全部唯一元素(这里其实就是集合A中的所有元素):

    In [31]: A | BOut[31]: {1, 2, 3, 4, 5, 6}

    3)求集合A与集合B的交集,即集合A与集合B的共有元素:

    In [32]: A & BOut[32]: {3, 4, 5}
    4
    字典

    字典与前面介绍的几种数据结构都不太相同,它是使用键–值(key-value)对的方式来进行存储的,具有方便快速查找的优点。与集合类似,字典也是使用符号“{}”括起来的,但其中的每个键–值对之间用冒号“:”进行对应。

    In[33]:dict1 = {'xiaoming':24,'xiaofang':28,'zhangsan':21,'wangwu':27}
    In [34]: dict1Out[34]: {'wangwu': 27, 'xiaofang': 28, 'xiaoming': 24, 'zhangsan': 21}字典本身是无序的,但可以分别通过keys和values方法获取字典中的键和值。In [35]: dict1.keys()Out[35]: dict_keys(['xiaoming', 'xiaofang', 'zhangsan', 'wangwu'])
    In [36]: dict1.values()Out[36]: dict_values([24, 28, 21, 27])

    另外,字典还支持通过键来访问其对应的值:

    In [37]: dict1['xiaoming']Out[37]: 24

    需要注意的是,在定义字典时,键不能重复,否则重复的键值会默认替换原来的键值。

    In[38]:dict2={'xiaoming':24,'xiaofang':28,'zhangsan':21,'wangwu':27,'xiaoming':25}
    In [39]: dict2Out[39]: {'wangwu': 27, 'xiaofang': 28, 'xiaoming': 25, 'zhangsan': 21}

    文章来源于数仓宝贝库 ,作者杨游云  

    本文摘编于《Python广告数据挖掘与分析实战》,经出版方授权发布。


    欢迎各位小伙伴加入我们的技术交流微信群,资料分享~技术讨论~还有不定期精彩直播等福利活动等着你~ 


     

    RAC环境下如何修改监听端口
    « 上一篇
    返回列表
    下一篇 »
    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表
    你会是第一个来这里评论的人吗?
    最近发布资讯
    更多