python学习笔记4(列表)

列表是最通用的Python复合数据类型,列表中包含以逗号分隔,并在方括号([])包含的项目。

在一定程度上,列表相似C语言中的数组,它们之间的一个区别是,所有属于一个列表中的项目可以是不同的数据类型的。

存储在一个列表中的值可以使用切片(分片)操作符来访问([]和[:])用索引从0开始,使用负数索引时,Python会从右边开始计数(-1指的是序列最右边的元素)。

加号(+)符号列表连接运算符,星号(*)重复操作。

list = ['abcd', 123, 2.23, 'Ethon']
tinylist = [123,'wakey']
print list 
print list[0]
print list[1:3]
print list[2:]
print tinylist * 2
print list + tinylist

产生已下结果:

分片:与使用索引来访问单个元素类似,可以使用分片操作来完成一定范围内的元素,分片通过冒号相隔的两个索引来实现。第一个索引的元素是包含在分片内的,而第二个则不包含(这是Python的惯例)。

>>> numbers = [1,2,3,4,5,6,7,8,9]
>>> numbers[3:6]
[4, 5, 6]
>>> numbers[0:8:2]        #步长为2,每隔一个元素
[1, 3, 5, 7]
>>> numbers[8:3:-1]       #步长为-1,即从右到左提取元素
[9, 8, 7, 6, 5]
-1表示切片要倒着切,且是一个字符一个字符地切.
8表示从左边0开始计数的8位置上的数,9
3表示从左边0开始计数的3位置上的数,4,但不包括它,所以是只截到5
>>> numbers[6:-1] #从最6个数到倒数第1个数 [7, 8] >>> numbers[:] #索引为空,复制整个序列 [1, 2, 3, 4, 5, 6, 7, 8, 9]

 成员资格:为了检查一个元素是否在序列中,可以使用 in 运算符

>>> name = 'Ethon'
>>> 'E' in name
True
>>> 'A' in name
False

长度、最小值、最大值

>>> numbers = [100,25,37]
>>> len(numbers)
3
>>> min(numbers)
25
>>> max(numbers)
100

 列表操作

1、改变列表,元素赋值

>>> x = [1,1,1]
>>> x[0]=2
>>> x
[2, 1, 1]

2、删除元素

>>> names= ['Ethon','joho','wakey']
>>> del names[1]
>>> names
['Ethon', 'wakey']

3、分片赋值

>>> name = list('Ethon')
>>> name
['E', 't', 'h', 'o', 'n']
>>> name[2:]
['h', 'o', 'n']
>>> name[2:] = list('abc')
>>> name
['E', 't', 'a', 'b', 'c']

 列表方法:方法是一个与某些对象有紧密联系的的函数,对象可能是列表,数字,也可能是字符串或其他类型的对象。

方法可以这样进行调用:  对象.方法(参数)

1、append  在列表末尾添加新的对象

>>> lst = [1,2,3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]

2、count   统计某个元素出现的次数

>>> name = ['Ethon','wakey','wakey','joho']
>>> name.count('wakey')
2

3、extend  在列表的末尾一次性追加另一个序列中的值

>>> a = [1,2,3]; b = [4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]

4、index  在列表中找个某个值第一个匹配项的索引位置

>>> name = ['Ethon','wakey','joho','Misi']
>>> name.index('joho')
2

5、insert  将对像插入到列表中

>>> numbers = [1,2,3,4,5]
>>> numbers.insert(3,'Ethon')
>>> numbers
[1, 2, 3, 'Ethon', 4, 5]

6、pop  移除列表中的一个元素(默认是第后一个元素)  

pop方法是唯一一个既能修改列表,又能返回元素值的列表方法

>>> x = [1,2,3,4]
>>> x.pop()
4
>>> x
[1, 2, 3]

7、remove  移除列表中某个值的第一个匹配项

>>> name = ['joho','wakey','Ethon','misi','wakey']
>>> name.remove('wakey')
>>> name
['joho', 'Ethon', 'misi', 'wakey']

8、reverse   将列表中的元素反向存放

>>> x = [1,2,3]
>>> x.reverse()
>>> x
[3, 2, 1]

9、sort  在原位置对列表进行排序(改变原来的列表)

>>> x = [3,1,6,5,4]
>>> x.sort()
>>> x
[1, 3, 4, 5, 6]

当用户需要一个排序后的列表副本,又不想改变原来的列表时,可以用以下方法:

>>> x = [3,1,6,5,4]
>>> y = x[:]
>>> y.sort()      #将x的副本赋值给y,然后对y进行排序
>>> x
[3, 1, 6, 5, 4]
>>> y
[1, 3, 4, 5, 6]

或使用 sorted 函数

>>> x = [3,1,6,5,4]
>>> y=sorted(x)
>>> x
[3, 1, 6, 5, 4]
>>> y
[1, 3, 4, 5, 6]

 

posted on 2014-12-02 11:35 Ethon 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/wakey/p/4137032.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值