python的序列之列表

列表是一种非常灵活的数据结构,相对于字符串和元组,其是可变的灵活的容器,可以包含python的标准类型和用户定义的对象,并且同一个列表中的对象可以是不同类型,列表的元素可以是列表。

列表上的可执行操作也很多:pop,empt,sort,reverse;添加或者删除元素;与其它列表结合或者分成多个列表;对单独一个元素或者多个元素执行insert,update,remove操作。

 

1、创建方式:

(1)[]:罗列其各个元素。

(2)使用工厂方法:list('abc') 创建的列表为['a','b','c']

 

2、访问:通过直接索引值或者切片操作符。

   更新:由于列表是可变的,所以可以用索引值或者切片操作符取出元素直接赋值更新;或者使用append()方法追加元素。

   删除:已知索引:del aList[1]

         已知元素:aList.remove('abc')

         删除整个列表:del aList

         

3、操作符

(1)比较操作符的逻辑原则:对两个列表的元素进行比较;如果是同类型则比较其值;如果是不同类型,双方都是数字则对数值比较,若一方是数字,则另一方大(数字是“最小的”,否则按照字母顺序比较;如果一个列表首先到达末尾,则另一个较长的列表大)。

(2)连接操作符(+):连接操作符左右两边对象的类型必须相同,例如aList+'abc'是错误的,要用aList.append()。

     一般用list.extend()方法代替连接操作符,因为前者直接将新列表添加到原列表里,而后者会新建一个列表,list.extend()方法也可做复合赋值运算,类似+=。

 

4、列表解析:

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

 

5、内建函数:

(1)标准类型函数:cmp()

(2)序列类型函数:len(),max(),min(),sorted(),reversed(),enumerate(),zip(),sum(),list(),tuple()。

例:a=[6,4,5]

reduce(operator.add,a) //输出15

sum(1) //输出15

sum(a,5) //输出20

 

list(),tuple():通过浅拷贝在列表和元组之间转换,常用于将元组转换成列表,修改后再将元组转成列表。要注意每次转换都生成新的对象。

 

6、列表类型的内建函数:通过dir(list)或者dir([])获得列表所有的方法和属性。

list.append(obj):向列表中添加对象obj

list.count(obj):返回obj在列表中出现的次数

list.extend(seq):将序列seq的内容添加到列表中

list.index(obj,i=0,j=len(list)):返回obj在i与j之间的索引值

list.insert(index,obj):在index的位置插入obj(index方法对于不存在的元素会报错,可用in判断后使用)

list.pop(index=-1):删除并且返回指定位置的对象,默认是最后一个对象

list.remove(obj):删除对象obj

list.reverse():原地翻转列表

list.sort(func=None,key=None,reverse=False):按照func和key指定的方式排序,如果reverse为True,则逆序排列。

 

7、注意:可以改变对象值的可变对象的方法没有返回值,例如sort()、extend()、reverse()在列表中是原地执行,python2.4以后的sorted()和reversed()可返回新的对象,但像不可变的字符串的操作有返回值。

 

8、用列表可构建其它数据结构:如堆栈和队列。

转载于:https://www.cnblogs.com/limingluzhu/archive/2012/10/13/2722075.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值