数据结构是用来存储数据的逻辑结构,合理使用数据结构才能编写出优秀的代码。本文主要介绍Python提供的几种内置数据结构,包括元组、列表、字典的定义和基本操作方法以及介绍典型函数的使用方法。

元组结构

元组由一系列元素组成,包含在一对圆括号中。元组创建后不可修改。创建元组方法如下:

tuple = () # 空元组
tuple = ('Python',) #单元素元组,后面必须包含一个逗号
tuple = ('Python', 'Java', 'Shell') #多元素元组
tuple = (('Python', 'Java'), 'Shell', ['C++', 'Ruby'], 20) #元组中的元素可以是不同类型的数据

元组的基本操作,详细介绍可以通过help(tuple)查看。

(1)通过下标访问指定元素值

tuple[0] #访问第一个元素,下标从0开始

(2)通过切片访问某段的值

tuple[1:3] #获取下标1和2的值,不包括下标3

(3)遍历访问元组中的所有元素

for i in range(len(tuple)):
print "tuple[%d] = %s" % (i, tuple[i])

(4)元组的拆包赋值。可用于获取函数返回的多个值。

val1, val2, val3 = tuple #注意:变量个数要与元组中的元素个数一致。

列表结构

列表中是由一系列元素组成,包含一对方括号中。列表可以添加、删除、查找操作,元素值可修改。列表创建方法如下:

lst = [] # 空列表
lst = ['Python'] #单元素列表
lst = ['Python', 'Java', 'Shell'] #多元素元组
lst = [('Python', 'Java'), 'Shell', ['C++', 'Ruby'], 20] #列表中的元素可以是不同类型的数据

列表的基本操作方法,详细介绍可以通过help(list)查看。

lst.append(object) #在列表的末尾添加一个对象object
lst.insert(index,object) #在指定的索引index处插入一个对象object
lst.remove(value) #删除列表中首次出现的value值
lst.pop([index]) #删除索引index指定的值,如果不指定,删除列表中的最后一个元素
lst.extend(iterable) #将iterable指定的元素添加到列表末尾
lst.index(value, [start,[stop]]) #返回value出现在列表中的索引
lst.sort(cmp=None, key=None, reverse=False) #列表的排序
lst.reverse(...) # 列表的反转
value in lst #判断指定value是否存在于列表中
value not in lst #判断指定的vale是否不在列表中

列表的基本操作方法实例

>>> lst = ['','',''] #初始化一个列表
>>> lst.append('') #使用append()函数条件一个值
>>> lst
['', '', '', '']
>>> lst.insert(0,'') #在指定位置0插入字符'0'
>>> lst
['', '', '', '', '']
>>> lst.remove('') #删除列表中的字符'3'
>>> lst
['', '', '', '']
>>> lst.pop() #将指定位置字符删除,默认是最后一个位置。
''
>>> lst
['', '', '']
>>> lst.extend(['','','']) #合并列表
>>> lst
['', '', '', '', '', '']
>>> lst.index('')
3
>>> lst.sort() #对列表lst进行排序,原地置换
>>> lst
['', '', '', '', '', '']
>>> lst.reverse() #对列表lst进行反转输出,原地置换
>>> lst
['', '', '', '', '', '']
>>> '' in lst #判断指定字符'3' 是否在lst中,存在则返回True
True
>>> 3 in lst #3不存在lst中,返回False
False
>>> 3 not in lst #3不存在lst中,返回True
True

sort()函数典型实例介绍

1、按照指定字段排序列表元素

>>> lst = ['192.168.0.1 Success','192.168.0.10 Fail','192.168.0.2 Success']
>>> lst.sort(key = lambda x:int(x.split(' ')[0].split('.')[3]))
>>> print lst
['192.168.0.1 Success', '192.168.0.2 Success', '192.168.0.10 Fail']

最新文章

  1. 有关DTCoreText无法加载网络图片及应用问题
  2. 用于 Linux 平台的 Java
  3. SQL与Mongodb聚合的对应关系(举例说明)
  4. 整合了一个功能强大完善的OA系统源码,php全开源 界面漂亮美观
  5. 九、DAG hierarchy
  6. matlab文件操作及读txt文件(fopen,fseek,fread,fclose)
  7. python3.5.1语法
  8. magento中比较好的博客
  9. JAVA逻辑字符串判断真假
  10. CHECKPOINT
  11. Seafile V4.1 安装笔记
  12. ShopNc商城修改详情
  13. Java编程常见问题汇总
  14. demo_05HTML5+CSS3绘制小鸟
  15. getActionBar()空指针异常
  16. linux中将程序加入到开机自动启动
  17. JavaScript 中常见设计模式整理
  18. luogu4187
  19. 偏离中轴的cos半球积分问题
  20. [Python] 动态函数调用(通过函数名)

热门文章

  1. sqlserver 查询重复数据
  2. POJ3159 Candies
  3. 1-Lombok工具使用
  4. 本地IP,掩码,网关,DNS设置
  5. SSH2 No Session found for current thread原因
  6. Linux RPS/RFS 实现原理浅析
  7. 基于tcp的下载文件,以及struct模块的应用。
  8. django之前-----web应用与框架
  9. [Unity工具]批量修改字体
  10. 转:SQL 操作结果集 -并集、差集、交集、结果集排序