|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 bozhen 于 2017-7-18 19:40 编辑
列表:一个打了激素的数组
数组是放同种类型的,而列表无限制,啥类型都能放,包括子列表
可以创建普通列表,混合列表,空列表
>>>member = ['小甲鱼','小布丁','黑夜','迷途','怡静']
>>>member
['小甲鱼','小布丁','黑夜','迷途','怡静']
>>>mix = [1,'小甲鱼',3.14,[1,2]] # 混合列表
>>> empty = [ ] #创建空列表
向列表添加元素:append() , extend(), insert()>>> member.append('福禄娃娃') # 属于对象的函数称为方法,用.连接
append() 只需要一个参数作为元素,自动追加到列表末尾
>>> member.extend(['竹林小溪','Crazy迷恋'])
extend() 参数也只需要一个作为列表,extend是扩展的意思,同样追加到列表末尾
member.append(['竹林小溪','Crazy迷恋'])
>>> member
['小甲鱼', '小布丁', '黑夜', '迷途', '怡静', ['竹林小溪', 'Crazy迷恋']]
member.extend(['竹林小溪','Crazy迷恋'])
>>> member
['小甲鱼', '小布丁', '黑夜', '迷途', '怡静', '竹林小溪', 'Crazy迷恋']
>>> member.insert(0,'牡丹') # 把牡丹放在第一个位置
insert() 有两个参数,第1个参数表示要插入的位置,第2个参数表示要插入的元素
比方 name = ['F','i','h','C'] 要在i 和 h 中间插入s, name.insert(2,'s')
列表索引值从零开始
>>> member[0]
'小甲鱼'
>>>temp = member[0]
>>>member[0] = member[1]
>>>member[1] = temp
实现将member列表的第2个元素和第1个元素调换位置
从列表删除元素:remove(), del ,pop()>>>member.remove('怡静') # 只要一个参数,且参数为其元素
>>> del member[1] # del 是一个语句,member[x] x为索引值
>>> member.pop() # 不带参数默认删除列表最后一个元素
>>>member.pop(1) #删除索引值为1的元素
如果每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边,怎么做?
member.insert(0, member.pop())
列表分片(slice): 一次性获取多个元素,分片得到的也是一个列表,分片还有一个步长>>> member[1:3] # 用冒号隔开两个索引值,左边是开始(包含),右边是结束(不包含),3-1=2,会分出2个元素的列表
>>>member[:3] # 去掉第一个索引值,默认从0开始
>>>member[1:] # 去掉第二个索引值,默认到最后
>>>member[:] # 两边都不加索引值,得到一个原列表的拷贝
list = [1,3,2,9,7,8]
list[0] == 1 ; list[0:1] == [1]
list[-3:-1] 得到[9,7]
>>> list[0:6:2] # 步长为2
[1,2,7]
>>> list[::-2] #步长还可以为负数,也就是从尾部开始向左走
[8,9,3]
正常下标 0 1 2 3 4 5
列表内容 1 3 2 9 7 8
负数下标 -6 -5 -4 -3 -2 -1
正常索引从左到右,负数索引从右到左
list2 = list[:] # 将list拷贝给list2
list3 = list # 给一个固定的东西再增加一个新标签list3
改变list内容,list3跟着变,而list2不受影响
列表的常用操作符:比较操作符,逻辑操作符,连接操作符,重复操作符,成员关系操作符>>> list1 = [123]
>>> list2 = [234]
>>> list1 > list2
False
>>> list1 = [123,456]
>>> list2 = [234,123]
>>> list1 > list2
False
>>>
列表的比较操作符,比较的是第0个元素
>>> list3 = [123,456]
>>> (list1 < list2) and (list1 == list3)
True
列表的逻辑操作符
>>> list4 = list1 + list2
>>> list4
[123, 456, 234, 123]
字符串的连接,但不建议这样使用,跟extend()方法类似
>>> list3 *3
[123, 456, 123, 456, 123, 456] # 打印3遍list3的内容
>>> list3 *=3 # 原地改变list3的值
>>> list3
[123, 456, 123, 456, 123, 456]
>>> 123 in list3 # in 成员关系操作符
True
>>> '小甲鱼' not in list3
True
>>> list5 = [123,['小甲鱼','牡丹'],456]
>>> '小甲鱼' in list5 # in只能访问一层
False
>>> '小甲鱼' in list5[1] #
True
>>> list5[1][1]
'牡丹'
dir(list):列出list方法
>>> list3.count(123) # count方法 计算参数出现的次数
3
>>> list3.index(123) # index方法,找到参数出现的第一个位置
0
>>> list3.index(123,3,7) # index,后面两个参数表示范围的起始位置和结束位置
4
>>> list3.reverse() # reverse 不需要参数,原地翻转
>>> list3
[456, 123, 456, 123, 456, 123]
>>> list6 = [4,3,2,1,5,9,23,13]
>>> list6.sort() # 从小到大排
>>> list6
[1, 2, 3, 4, 5, 9, 13, 23]
>>> list6.sort(reverse=True) # 用sort方法实现从大到小排序,默认reverse=False
>>> list6
[23, 13, 9, 5, 4, 3, 2, 1]
list6.sort(reverse=True) == list6.sort() ; list6.reverse()
list2 = list1.copy() # copy方法跟切片拷贝是一样的
list2.clear() # clear用于清空列表元素,清空完列表仍然在,只是变成一个空列表
|
评分
-
查看全部评分
|