列表

list.append(x)

把一个元素添加到列表的结尾,相当于a[len(a):]=[x]

list.extend(L)

将一个给定列表中的所有元素都添加到另一个列表中,相当于a[(len):]=L

list.insert(i,x) 

在指定位置插入一个元素,第一个参数是准备插入的位置前面的元素的索引,

例如:a.insert(0,x)会插入到整个列表之前,而a.insert[len(a),x]相当于a.append(x)

list.remove(x)

从列表指定位置删除元素,如果没有指定索引,a.pop()返回 最后一个元素,并且最后一

个元素被删除,

list.clear()

从列表中删除所有元素,相当于del a[:]

list.index(x)

返回列表中第一个值为x的索引,如果没有匹配的元素就会返回一个错误

list.count(x)

返回x在列表中出现的次数

ist.sort()

对列表中的元素进行排序

list.reverse

就地倒排列表元素

list.copy()

返回列表的一个浅拷贝,相当于a[:]

列表可以当堆栈使用(直接拿来用)

列表也可以当作队列使用(但是基于列表本身的方法,这样用效率不是很高)

要实现队列,用collections.deque,在首尾两端快速插入和删除

列表推导式

但是可以再简化:

squ=[x ** 2 for x in range(10)]

如果推导式结合两个列表,而元素之间不相等的话

字典
字典是一种可变容器模型,可存储任意类型对象
字典的每个键值(key=>value)对用冒号:分割,每个对用逗号,分割
d={key1:value1,key2:value2}
键是唯一的,值则不必
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
dict={'alice':'234','betch':'9102'}

修改字典

dict={'alice':'234','betch':'9102'}

dict['alice']=4

删除字典

dict={'alice':'234','betch':'9102'}

del dict['alice'] 删除元素
dict.clear() 清除全部条目
del dict 删除字典 注:会引起异常,因为用del后字典不存在

字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行

字典方法:
keys():tuple 返回一个关键字序列 
values():tuple 返回一个值序列
items():tuple 返回一个元组序列,每个元组都是一个条目的【键,值】
clear():None 删除所有条目
get(key):value 返回这个关键字对应的值
pop(key):value 删除这个关键字对应的条目并返回它的值
popitem():tuple 返回一个随机选择的键值对作为元组并删除这个被选择的条目

元组

元组和列表相似,不同之处在于元组的元素不能改变,元组使用小括号,列表使用方括号

当元组只包含一个元素时,需要在后面添加括号
tup=(60,)
创建空元组
tup=()

元组也可以相加
例如 tup1=(1,2,3)
tup2=(2,4,5)
tup3=tup1+tup2
tup3==(1,2,3,2,4,5)

删除元组
元组中的元素值是不允许被删除的,但我们可以使用del值来删除整个元组
tup=(1,2,3)
del tup
程序会显示tup is not defined

元组运算符
len(1,2,3) 3
(1,2,3)+(2,3,4) (1,2,3,2,3,4)
[‘hi’]*4 ['hi','hi','hi','hi']
3 in (1,2,3) true
for x in (1,2,3) print x 1,2,3

元组索引,截取

tup=(1,2,3)

tup[0] 1
tup[-1] 3
tuo[1:] (2,3)

无关闭分隔符
任意无符号的对象,以逗号隔开,默认为元组
print(1,2,3)
1,2,3
x,y=1,2
print(x,y)
1 2

python3数据结构的更多相关文章

  1. python系列十一:python3数据结构

    #!/usr/bin/python #Python3 数据结构'''Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能.''' '''将 ...

  2. python016 Python3 数据结构

    Python3 数据结构本章节我们主要结合前面所学的知识点来介绍Python数据结构. 列表Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元 ...

  3. Python3 数据结构

    列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. 以下是 Python 中列表的方法: 方法 描述 list.append(x ...

  4. python3数据结构与算法

    python内置的数据结构包括:列表(list).集合(set).字典(dictionary),一般情况下我们可以直接使用这些数据结构,但通常我们还需要考虑比如搜索.排序.排列以及赛选等一些常见的问题 ...

  5. 吴裕雄--天生自然python学习笔记:Python3 数据结构

    列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. list.append(x) 把一个元素添加到列表的结尾,相当于 a[len ...

  6. Python3 数据结构之词频统计(英文)

    import string path = r'C:\Users\Black\Desktop\Walden.txt' with open(path, 'r', encoding='utf-8') as ...

  7. Python3数据结构汇总

    字符 列表 元组 集合 字典 能否被索引或切片 能 能 能 否 否 元素能否被编辑 否 能 否 能 能 增 1.list.append(x):把一个元素添加到列表的结尾: 2.list.insert( ...

  8. [转]python3字符串与文本处理

    转自:python3字符串与文本处理 阅读目录 1.针对任意多的分隔符拆分字符串 2.在字符串的开头或结尾处做文本匹配 3.利用shell通配符做字符串匹配 4.文本模式的匹配和查找 5.查找和替换文 ...

  9. PYTHON 100days学习笔记008-1:数据结构补充

    目录 Day008_01:数据结构补充 1.列表list 1.1 将列表当作堆栈使用 1.2 将列表当作队列使用 1.3 列表推导式 1.4 嵌套列表解析 1.5 del语句 2.元组和序列 3.集合 ...

随机推荐

  1. 【学习笔记】锋利的jQuery(四)AJAX

    一.load()方法 /* *如果没有参数传递,采用GET方式传递 *如果有参数,则自动转换成POST方式传递 *无论Ajax是否请求成功,请求完成后回调函数触发 */ load("test ...

  2. Day4:T3搜索 T4数学题排列组合

    T3:搜索 很出名的题吧,费解的开关 同T2一样也是一题很考思考的 附上题解再解释吧: 对于每个状态,算法只需要枚举第一行改变哪些灯的状态,只要第一行的状态固定了,接下来的状态改变方法都是唯一的:每一 ...

  3. Linux 环境进程间通信(六):

    linux下进程间通信的几种主要手段: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允 ...

  4. Matlab内置函数

    [原创]Matlab.NET混编技巧之——找出Matlab内置函数   Matlab与.NET的混合编程,掌握了基本过程,加上一定的开发经验和算法基础,肯定不难.反之,有时候一个小错误,可能抓破脑袋, ...

  5. ajaxFileUpload+struts2实现多文件上传(动态添加文件上传框)

    上篇文章http://blog.csdn.net/itmyhome1990/article/details/36396291介绍了ajaxfileupload实现多文件上传, 但只是固定的文件个数,如 ...

  6. Go Revel - Parameters(参数绑定)

    Go Revel - Parameters(参数绑定) 参数绑定 Revel框架会尽可能的将提交参数转换为期望的Go类型.这个从一个字符串提交参数转换为另一个类型被称为数据绑定 . 参数 所有的请求参 ...

  7. Linux内核网络协议栈优化总纲

    本文原创为freas_1990  转载请标明出处:http://blog.csdn.net/freas_1990/article/details/9474121 Jack:淫龙,Linux内核协议栈如 ...

  8. Java笔记:抽象类、接口

    这篇笔记主要是抽象类和接口,还有简单介绍下三种设计模式:模板模式.工厂模式.命令模式 1.抽象方法和抽象类(1)抽象方法和抽象类都必须使用abstract修饰符来定义,包含抽象方法的类只能被定义成抽象 ...

  9. asp.net通用查询模块设计

    asp.net通用查询模块设计 前言 自从上次狂喷了devexpress for asp.net面向互联网的app的各种不合理,好像骂的dev无处容身了,不过说实话,dev在做互联网的app时,生成的 ...

  10. 关闭Windows 2008下面应用程序出错后的提示

    写了一个服务器端程序,没有能处理所有的错误,总有一些错误会抛出到系统中去.于是写了一个进程守护者,一旦发现服务器端退出,可以在第一时间重新启动服务器,也算是一种折中的方案吧.理论上讲应该是可行的,但是 ...