数据结构中的列表、元组、字典、集合

数据结构:数据结构是计算机存储数据和组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。在python中主要的数据类型统称为容器。

而序列(如列表、元组)、映射(如字典)、集合(set)就是python中最主要的容器。

一. 序列:成员有序的排列,并且可以通过下标和偏移量访问到他的一个或几个成员的类型统称为序列。他是最基本的数据类型。Python中内建的序列有6种:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。下面重点介绍列表和元组。

  1. 列表:是储存和处理一组有序项目的数据结构。

      特点:①有序排列

         ②可以改变的。这是它区别于字符串和元组的最重要的特点

表达式:方括号[ ],每项用逗号(,)隔开。

    常用的函数方法:举例:name =["a","b","c"]

(1)打印列表中的元素c。print(name[2])

               (2)打印列表中的元素b,c。print(name[1:3])

            (3)打印列表中的最后一个项目。print(name[-1])

(4)打印列表中的最后两个项目。print(name[-2:])

(5)添加。name.append("d) ,只能在列表中添加一个元素且只能添加在末尾。

name.extend("d) ,可以在列表中添加多个元素或列表、元组、且只能添加在末尾。注意最后形成的还是列表。

1 a = [1, 2, 23, 4]
2 b = (5, 6, 7, 8, 9)
3 c=a.extend(b) #不能这样写,应该这样写a.extend(b)>>>print(a)
4 print(c)

name.insert(index,obj), index 想插入的索引号,新的元素将成为该索引号上的元素。obj想要插入的元素。

(6)替换。 name[1]="x"

(7)删除。有三种方法:① del name[1]

② name.remove("b”)  #如果多个元素一样,默认删除第一个

③  name.pop(2)   #函数用于移除列表中的一个元素(如果括号里没有数字则默认最后一个元素),并且返回该元素的值。

(8)查找。name.index("a")   #显示a的索引号。

               (9)统计。name.count("a")   #显示列表里有几个a。

(10)清除列表。name.clear()

(11)翻转列表。name.reverse()。

(12)列表排序(按ASCII码排序)。name.sort()。

(13)复制。Python中的复制其实有三种形式。①赋值。python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用。原始列表改变,被赋值的b也会做相同的改变。例如a=1  b=a   a=2>>> b=2.

②浅复制。copy浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变。

③ 深复制。只复制原始对象,不管原始对象如何改动,它都只复制原始对象。特别的忠诚。

 1 import copy
 2 a=[1,2,3,4,["a","b",["x","z"]]] #原始对象
 3 b=a                #赋值
 4 c=copy.copy(a)     #浅复制
 5 d=copy.deepcopy(a) #深复制
 6 a.append("A")     #第一层变动
 7 a[4][2].append("C")#第三层变动
 8 print("a=",a)
 9 print("b=",b)
10 print("c=",c)
11 print("d=",d)

得到的结果为:

a= [1, 2, 3, 4, [‘a‘, ‘b‘, [‘x‘, ‘z‘, ‘C‘]], ‘A‘]
b= [1, 2, 3, 4, [‘a‘, ‘b‘, [‘x‘, ‘z‘, ‘C‘]], ‘A‘]
c= [1, 2, 3, 4, [‘a‘, ‘b‘, [‘x‘, ‘z‘, ‘C‘]]]   #只忠诚原始对象的第一层
d= [1, 2, 3, 4, [‘a‘, ‘b‘, [‘x‘, ‘z‘]]]        #只忠诚原始对象

				
时间: 2024-11-05 06:13:26

数据结构中的列表、元组、字典、集合的相关文章

python中列表 元组 字典 集合的区别

列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复项的.如果我们扩大清单的范围,统计我们过去一周所有的花费情况,那么这也是一个清单,但这个清单里会有类别不同的项,比如我们买东西是一种花费,交水电费也是一种花费,这些项的类型是可以使不同的.pyt

python数据类型基础总结(字符串 列表 元组 字典 集合 )

字符串: 有序.不可变数据类型,支持索引,切片,步长(字符串中的每一个字母或字符都称为元素) 索引(下标):通过索引精确定位到每个元素 索引从左开始向右排 从0开始 索引时不能超过最大值,超出报错 从右向左排从-1开始 切片(顾头不顾尾) 步长 print(name[::2] 取整个字符串,步长为2 字符串方法: upper 全部大写 lower全部小写 capitalize 首字母大写 title每个单词的首字母大写 swapcase 大小写转换 starswith 以..开头 endswit

Python的列表&元组&字典&集合

目录 列表(list) 列表的定义 列表的查询 增加数据 修改数据 删除数据 其它常用操作 元组(tuple) 元组的拆包 具名元组 字典(dict) 创建字典 字典添加数据 查询字典数据 修改字典数据 删除字典数据 其它操作 字典的遍历 集合(set) 集合的创建 访问集合 更新集合 删除集合 集合的操作符 集合应用 列表(list) ? 列表(list)是python以及其他语言中最常用到的数据结构之一.Python使用中括号 [ ] 来解析列表.列表是可变的(mutable)--可以改变列

3 - 列表 元组 字典 集合

列表 names = ['a','b','c','d','e','f','g','h','i','j','k','l'] names.append('a') #插入一个a names.extend(['q','m'])#拓展列表 names.remove('b') #删除b del names[1] #删除c name = names.pop(1) #移出d print(name) print(names.index('a')) #匹配第一个a的位置 print(names.count('a')

python 数据类型 变量 列表 元组 字典 集合

Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等. 浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等

Python笔记第2章,文件,字符串,列表,元组,字典,集合的使用

<--目录--> 1)Python文件处理 2)字符串处理 3)列表.元组.字典的使用 4)集合的妙用 1.文件处理 文件处理模式 r 以只读模式打开文件 w 以只写模式打开文件 a 以追加模式打开文件 r+  为读写模式 rw跟r+一样,先读后写 w+  为写读模式,会先清空这个文件,再往里面写 a+  为追加模式 rb 以读写模式打开 wb 以写读模式打开 ab 以追加及读模式打开 +b 表示必须以二进制的模式处理文件,Windows系统上使用有效,Linux系统上使用无效,但工作中Lin

Python列表 元组 字典 集合

元组 Python中的元组(Tuple)类似于Java中的数组,一旦创建了一个 tuple,就不能以任何方式改变它.这点与Python中的字符串类似,所以我们说元组和字符串都是不可变的序列.元组也支持索引和分片操作. 定义一个元组使用一对小(圆)括号” ( ) “. #定义一个元组 tuple1 = (1, 2, '3', 4, '5') # 定义了一个元组之后就无法再添加或修改元组中的元素 print tuple1[0] # 元组的元素都有确定的顺序.元组的索引也是以0为基点的 print t

python的列表元组字典集合比较

定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'],7-9j] 1.list(str):将str转换成list类型,str可以使字符串也可以是元组类型 2.aList.append('test'):追加元素到列表中去 3.del aList[1]:删除列表中下标为1的元素 del aList:删除整个列表 4.cmp(list1,list2):比较两个列

数据类型之列表 元组 字典

数据类型| 表示形式 |  是否有序列 | 对象是否可变|访问顺序 数字     |   1234  |     没有下标  |  不可变 | 直接访问 字符串| 'asd3234'|     有下标    |    不可变  | 序列访问 元组  tuple |(1,'abc',[1,3] )|有下标 |  不可变  | 序列访问 列表 list | [1,'abc',(1,3),[2,3]] | 有下标 |  可变 | 序列访问 字典 dict |  {'key1':'values','ke

列表字符串元组字典集合

列表字符串元组字典 一.列表 1.li.append() #添加元素到末尾,返回none 2.li.clear() #一个比较危险的方法(QAQ) 3.li.copy() #复制 不是同一个对象(内存地址不一样) 4.li.count() #计算列表里的元素出现的次数 5.li.extend([]) #可迭代的参数 6.li.index() #默认返回元素第一次出现的位置,可以添加查找范围 7.li.insert() #指定索引插入元素 8.li.pop() #默认删除最后一个元素,可以指定索引