Python之数据结构:列表

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

一、基本操作

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

时间: 2024-08-19 05:47:09

Python之数据结构:列表的相关文章

Python常见数据结构--列表

1.列表 Python有6个序列的内置类型,但最常见的是列表和元组. 序列都可以进行的操作包括索引,切片.加.乘.检查成员. 此外,Python已经内置确定序列的长度以及确定最大和最下的元素的方法. 列表是最常见的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表的数据项不需要具有相同的类型. 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可.如下 list = ['aaa','bbbb','cccc'] list1 = [1,2,3,4,5] list2 = [

Python的数据结构 -- 列表

shoppingList = ['apple','banana','lemon','juice','jam'] print('my shopping list is',shoppingList) for item in shoppingList: print(item) print("I have",len(shoppingList),'items to buy') shoppingList.append('rice') print('I also have to buy rice')

python数据结构-列表和元组

1.列表和元祖 1)列表和元组,都是一个可以放置任意数据类型的有序集合 在绝大多数编程语言中,集合的数据类型必须一致.不过,对于 Python 的列表和元组来说,并无此要求 2)两者区别: 列表是动态的,长度大小不固定,可以随意地增加.删减或者改变元素(mutable) 而元组是静态的,长度大小固定,无法增加删减或者改变(immutable) 可是,如果你想对已有的元组做任何"改变",该怎么办呢?那就只能重新开辟一块内存,创建新的元组了. 3)Python 中的列表和元组都支持负数索引

python 数据类型 序列——列表

python 数据类型 序列--列表 **列表** list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 列表是可变类型的数据. 用[]表示列表,包含了多个以逗号分割开的数字或者字符串. >>> list1 = ['1','chen','陈'] >>> list2 = [1,2,3,4] >>> list3 = ["str1","str1","22"] >>

数据结构-列表基本语法

Python 列表基本语法   1) python列表是python 内置的数据结构对象之一, 相当于数组 2) 列表是用"[]"包含,内有任意的数据对象,每一个数据对象 以 , 分割,每个数据对像称之为元素 3) python 列表是一个有序的序列 4) python 列表支持任意的嵌套,嵌套的层次深度没有限制 总结: 列表是一个python的数据结构, 用[]来表示,可以存储任何对象的一个有序序列. 注意:  python中序列长度个数是从0开始计算的 定义 给列表第几项赋值:  

Python之‘数据结构’

简介 数据结构基本上就是--它们是可以处理一些数据的结构.或者说,它们是用来存储一组相关数据的.在Python里面有三种内建的数据结构--列表.元组和字典. 一.列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目.假象你有一个购物列表,上面记载着你想买的东西,就容易理解列表了.只不过在你的购物列表上,可能每样东西都独自占有一行,而在Python中,你在每个项目之间用逗号分隔. 列表中的项目应该包含在方括号中,这样Python就知道你在指明一个列表.一旦你创建一个列

python笔记之列表和元组

pyhton的列表和元组,说白了其实就是一种数据结构,只是在python当中更加方便的去操作而已.. 1.序列 其实字符串就是采取序列的方式的: string = "hello" print string[0] 结果为:h 对比其他编程语言,python还有一个负值索引的概念: 序列的分片: first = [0,1,2,3,4,5,6,7,9] print first[1:6:2] 针对first[1:6:2]这条语句: 1代表的起始索引,不写,默认为0 6代表结束索引,不写默认为所

python基本数据结构序列

python基本数据结构序列 ,六种内建序列类型:列表 元组字符串  Unicode字符串  buff对象和xrange对象 序列通用操作: 索引:元素的编号是从 0开始的 到索引号为负数时 查找方式是从右到左的 索引写在[]中 分片:类似索引的操作可以指定范围,当为一个对象创造副本时可以用 b = a[:] 这样的形式创建,这样 当 a被操作时不会影响 b  因为他们指向的不是同一块区域 相加:表示连接操作,列表连接后是新的列表不能改变列表原有的结构,序列相加时候要同种类型  进行,否则会报

python学习---数据类型---列表

Python学习 1.列表 [] 1.1)列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 1.2)列表时可变数据类型 1.3)列表的组成:用[]标示列表,包含多个用逗号隔开的数字或者字符串 举例:    list[1,2,3]        list1['aaa',123,'"qwsx"] 空列表 list[] 注意:在定义时,元祖只有一个值时,要在其后面加逗号:而列表只有一个值时不用加任何符号 2. 列表的操作 2.1)列表的重新赋值   (以list1[

Python的数据结构

数据结构基本上就是--它们是可以处理一些 数据 的 结构 .或者说,它们是用来存储一组相关数据的.在Python中有三种内建的数据结构--列表.元组和字典. 1.列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目.假想你有一个购物列表,上面记载着你要买的东西,你就容易理解列表了.只不过在你的购物表上,可能每样东西都独自占有一行,而在Python中,你在每个项目之间用逗号分割. 列表中的项目应该包括在方括号中,这样Python就知道你是在指明一个列表.一旦你创建