列表:处理一组有序项目的数据结构

一、基本操作

1、列表运算符

list1=[2,3,4,5,6,7,8]

print len(list1)

print [1,2]+[3,4]

print ['Hi']*4

print 4 in list1

for i in list1:

print i

list2=list1

list3=list1[:]

print list2 is list1 TRUE

print list3 is list1 FALSE

shoplist = ['apple','mongo','carrot','banana']

2、新增元素

shoplist.append('rice')

print u'新购物清单',shoplist

结果:新购物清单 ['apple', 'mongo', 'carrot', 'banana', 'rice']

3、删除一个元素

list1=[1,2,3,4,5,6,7]

list1.remove(3) 值操作,没有返回值

del list1[2] 下标操作

list1.pop(2) 下标操作,有返回值

4、比较两个列表中的元素是否相等

cmp(list1,list2)

1,0,-1 返回值

list1 == list2

str(list1) == str(list2)

5、取出列表中的最大元素:两种方法

max(list1)

list1.sort() list1[-1]

6、插入一个元素

list1.insert(2,1024) 在下标是2的位置插入1024元素

7、合并列表

listA=[1,2,3]

listB=[9,4,5]

listA.extend(listB)

或者 listA = listA+listB

print listA

结果:[1, 2, 3, 9, 4, 5]

8、二维列表

listC=[[1,2,3],[21,22,23]]

print u'第一个元素',listC[0]

print u'第一个元素',listC[0][0]

结果:

第一个元素 [1, 2, 3]

第一个元素 1

9、统计列表[1,2,3,4,5,6,3,4,5,6,3]中3出现的次数,不少于两种方法

list1.count(3)

sum=0

for i in list1:

if i == 3:

sum +=1

print sum

10、判断某个变量是否属于某一类

if isinstance(listC,list):

print‘ok’

结果:ok

或者:if type(listC) == list:

11、反转列表

list1=list(reversed(list1))

list1.reverse() 直接修改了list1,不需要再给list1赋值

list1=list1[::-1]

获取元素的下标

list1.index(454)

for i in xrange(len(list1)):

if list1[i] == 454:

print i

break

二、高级应用

1、切片

说明:

listA[startponit : endPonit :step(步长)],切片之后得到一个新的列表

startPoint:endPoint 前闭后开

(1)切片操作,非常重要

listA=[1,2,3,4,5,6]

print listA[0:4]

结果:[1, 2, 3, 4]

print listA[0:4:2]

结果:[1, 3]

(2)步长为负数, 实现逆序输出

print listA[::-1]

结果:[6, 5, 4, 3, 2, 1]

2、列表变为字符串

listB=['a','b','c']

print ''.join(listB)

结果:abc

3、列表生成器

(1)第一种 range(a:b:c)

list1=range(10)

print list1

结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

list2=range(2,10)

print list2

结果:[2, 3, 4, 5, 6, 7, 8, 9]

list3=range(2,10,2)

print list3

结果:[2, 4, 6, 8]

(2)第二种

list4=[x*x for x in range(10)]

print list4

结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

list3 = [m+n for m in 'ABC' for n in 'XYZ']

结果:AX,AY,AZ,BX,BY,BZ,CX,CY,CZ

list1 = [1,2,3,4]

list2 = [2*i for i in list1 if i>2]

list3 = [m+n for m in 'ABC' for n in 'XYZ']

dict4 ={'x':'A','y':'b','z':'C'}

list4 = [k+'='+v for k,v in dict4.items()]

L = ['Hello','World','IBM','Apple']

list5 = [s.lower() for s in L]

4、sort()方法 排序

sort(cmp=None,key=None,reverse=False)

cmp:默认通过ascii值比较,可定义使用其他的值进行比较

cmp:为一个定制的比较函数,接受两个参数,并且如果第一个参数小于第二个参数,则返回一个负数,大于则返回一个整数,等则返回0。默认值为None。

key:默认列表中的一个元素。通过什么去比较,可以自定义函数 key的使用场景比较多

reverse:默认升序,reverse=True,逆序

eg:

list1=[(1,5,3),(1,1,2,3,4),(1,6)]

def L(tup):

return len(tup)

list1.sort(key=L,reverse=True)

print list1

eg:list1 = [(-1,5,3),(-5,3,6,3),(1,1,2,4,5,6),(2,9),(-2,10)],使用元组的第一个元素大小比较来实现 list 的排序,逆序排列。

list1 = [(-1,5,3),(-5,3,6,3),(1,1,2,4,5,6),(2,9),(-2,10)]

def L(tup):

return abs(tup[0])

list1.sort(cmp=cmp,key=L,reverse=True)

print list1

python列表是什么数据结构_Python之数据结构:列表相关推荐

  1. python常用数据结构_Python入门: 数据结构大汇总

    一.列表 1.列表的创建 列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象,语法为 [元素1, 元素2, ..., 元素n].关键点是 " 中括号 [ ]&quo ...

  2. python顺序结构的关键字_Python相关数据结构的排序

    作者|Luay Matalka 编译|VK 来源|Towards Datas Science 在本教程中,我们将了解如何根据不同的标准对可迭代的容器(如列表.元组.字符串和字典)进行排序. 对列表排序 ...

  3. python 字典排序 最大键_Python中的列表、元祖、字典、集合操作大全

    来源:http://suo.im/5HPGNT 在Python中有4种内建的数据结构:列表.元组.字典.集合.今天我们将会学习如何使用它们,以及它们如何使编程变得简单. 一.列表list 是处理一组有 ...

  4. python检查列表是否为空_Python 中判断列表是否为空的方法

    在判断列表是否为空时,你更喜欢哪种方式?决定因素是什么? 在 Python 中有很多检查列表是否是空的方式,在讨论解决方案前,先说一下不同方法涉及到的不同因素. 我们可以把判断表达式可以分为两个阵营: ...

  5. python修改列表指定位置的_Python 基础教程—列表(1)

    Python内置了多种序列,本次讨论:列表.列表是Python提供的容器型数据类型.可变并且有序. 可变 - 列表中的每个元素的值可变,列表的长度可变,列表中的顺序可变.(支持增.删.改) 有序 - ...

  6. python中列表用什么表示_python中的列表

    1. 列表是什么,他可以用来做什么呢?当你存在这样的疑问,就往下看吧:) 列表是由一系列按特定顺序排列的元素组成的.在Python中,用[]来表示列表,并用逗号来分隔其中的元素. 我们可以创建包含字母 ...

  7. python列表表示个人信息_python中list列表的基础

    #存储5个人的年龄,求他们的平均年龄 #要存储100个人的年龄 #列表的本质是一种有序的集合 ''' 创建列表 格式:列表名=[列表选项1,列表选项2,--,列表选项n] ''' #创建一个空列表 l ...

  8. python删除列表中的偶数_Python:从列表中删除奇数

    我写了一个函数来从列表中删除奇数,就像这样: def remove_odd(l): for i in l: if i % 2 != 0: l.remove(i) print l return l re ...

  9. python列表与数字乘法_Python 3 – 将列表中的数字乘以2

    我要求完成的代码的目的是接收给定库存的输入,将它们返回到一行中的列表中.然后在第二行,复制列表,但这次加倍数字. 给定的输入是 Choc 5; Vani 10; Stra 7; Choc 3; Str ...

最新文章

  1. 计算机维修实训室制度,计算机实训室规章制度
  2. C语言 将字符串中数字字符全部删除
  3. 使用Phar来打包发布PHP程序
  4. 16个烧光你脑细胞的悖论
  5. 2020年终回顾:时间会回答成长,成长会回答梦想
  6. 白嫖船长几节课(2)
  7. LeetCode--96. 不同的二叉搜索树(动态规划)
  8. 小型论坛php,PHP练手:一个小型论坛(带后台)_PHP教程
  9. 修改cas登陆页面-服务器端
  10. 王道计算机考研图书勘误表公布!
  11. 杨建:网站加速--实例分析篇
  12. 决策易贴心黑科技第2波,智能巡店更高效!
  13. linux 查询文件大小大于1g_必备linux命令有哪些?你了解多少
  14. c#中获得windows、system、system32等一些系统文件夹的路径
  15. 再读图灵奖得主Brooks 没有银弹 什么是卓越的设计者
  16. 软考-嵌入式系统设计师:[网络安全:笔记(六)]
  17. farey(法莱)数列 (USACO Ordered Fractions)
  18. 计算机信息系统集成一级和二级资质认证通过企业名单
  19. ISCC-2022 部分wp
  20. 【国产加密算法-java实现SM3】

热门文章

  1. Python 打印阿姆斯特朗数
  2. 怎样才能跳过实名认证_和平精英qq怎么跳过实名认证!老司机告诉你仅需5步
  3. Python爬虫:现学现用xpath爬取豆瓣音乐
  4. 跨时钟域同步-结绳法
  5. 487 金明的预算方案(分组背包问题扩展)
  6. html怎么设置两块区域,将两个视频一左一右拼接 可裁剪画面并设置视频画面大小及位置...
  7. d使用ldc生成wasm
  8. 计算机游戏的作文,玩电脑游戏作文400字
  9. 成为一名专业Web渗透工程师难吗?
  10. html控制图的宽,控制图