博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python列表
阅读量:5095 次
发布时间:2019-06-13

本文共 2172 字,大约阅读时间需要 7 分钟。

在python中有六种内建的序列:列表、元祖、字符串、Unicode字符串、buffer对象和 xrange对象。

通用序列操作:

  1. 索引(indexing)

  2. 分片(slicing)

  3. 加(adding)

  4. 乘(multiplying)

  5. 检查某个元素是否属于这序列的index(in)

  6. 计算序列的长度(len)

  7. 找出最大元素和最小元素(max/min)

本篇将介绍其中的列表,以下从列表定义增删改查、列表生成式三个方面进行总结

1. 列表定义

  列表为Python内置数据类型,用[]表示,可以修改

2. 列表的增、删、改,查

  (1) 增

  append()

  extend() #必须在列表尾部拼接另一个链表

  insert() #指定索引位置插入字符

  (2) 删

  pop() #删除末尾的元素

  remove() #指定值进行删除

  del()  #用索引和切片进行删除

  clear() #清楚列表中的所有元素,保留列表这个对象

  (3) 查

  索引

  切片

  count()

  max()/min()

  (4) 排序

  sort()

  reserve()

  sorted() #对一个列表集合按照列表中某个位置的元素进行排序

li = [[1,2,3,4],[4,3,2,1],[2,4,1,3]]destli = sorted(li, key = lambda element:element[3])print (li)print (destli)>>> [[1, 2, 3, 4], [4, 3, 2, 1], [2, 4, 1, 3]]>>> [[4, 3, 2, 1], [2, 4, 1, 3], [1, 2, 3, 4]]

  3. 列表生成式

  >>>[i for i in range(10) if i %2 == 0]

  [0, 2, 4, 6, 8]

  内建函数enumerate() 作用:在列表中为获得序号提供了一个更方便的方法

  >>>seq = ['a', 'b', 'c']

  >>>for i, element in enumerate(seq): seq[i] = "%d%s"%(i, element)

  4. enumerate

  >>> for a,b in enumerate([1,2,3,4]):

    >>>  print (a, b)

  5. zip

  >>> for item in zip([1,2,3], [4,5,6]):

  >>> print (item)

  (1, 4) (2, 5)(3,6)

  >>> for item in zip(*zip([1,2,3], [4,5,6])):

  >>> print (item)

  (1,2,3)(4,5,6) 

  例:列表合并

#coding = utf-8'''    合并两个有序列表'''l1 = [1,3,5,7,8]l2 = [2,4,6,9]def _recursion_merge_sort2(l1, l2, tmp):    if len(l1) == 0 or len(l2) == 0:        tmp.extend(l1)        tmp.extend(l2)        return tmp    else:        if l1[0] < l2[0]:            tmp.append(l1[0])            del l1[0]        else:            tmp.append(l2[0])            del l2[0]        return _recursion_merge_sort2(l1, l2, tmp) def recursion_merge_sort2(l1, l2):    return _recursion_merge_sort2(l1, l2, [])print (recursion_merge_sort2(l1,l2) )
View Code

sort 与 sorted 区别:

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

extend和append的区别:

l1 = [1,3,5,7,8] l2 = [2,4,6,9]

l3 = []

#l3.append(l1)
#l3.append(l2)
#print (l3)
l3.extend(l1)
l3.extend(l2)
print (l3)

>>> [[1, 3, 5, 7, 8], [2, 4, 6, 9]]

>>> [1, 3, 5, 7, 8, 2, 4, 6, 9]

转载于:https://www.cnblogs.com/xiaobingqianrui/p/8287716.html

你可能感兴趣的文章
影响数据库访问速度的九大因素
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
MySQL更改默认的数据文档存储目录
查看>>
给出一个十六进制的数0xFF 0x80 (只有2“位”) 将其转换成有符号的一字节的十进制整数...
查看>>
替代微软IIS强大的HTTP网站服务器工具
查看>>
5、easyUI-菜单与按钮
查看>>
6.5 案例21:将本地数据库中数据提交到服务器端
查看>>
PyQt5--EventSender
查看>>
深入浅出Symfony2 - 结合MongoDB开发LBS应用
查看>>
android 通过AlarmManager实现守护进程
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
win7下把电脑设置成wlan热
查看>>
Java 多态 虚方法
查看>>
jquery.validate插件在booststarp中的运用
查看>>
java常用的包
查看>>
PHP批量覆盖文件并执行cmd命令脚本
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
支持向量机——内核
查看>>
MFC注册热键
查看>>
万能的SQLHelper帮助类
查看>>