1.python 数据结构-----列表

列表

关键特性:
1.是可变的数据类型(可进行增删改查)
2.可以存放不同数据类型
3.是有序的,可以索引的

  • 列表常见的用法:
  • 创建一个列表
# 创建一个空列表,等效 less1 = list()  列表是有序的,可以索引
less1 = []

# 创建一个不同数据类型的列表
less2 = ['m', 1, ['b', 5], 2.0, ('c', 2), {'name': 'admin'}]
  • 增加
# 把一个元素添加到列表的结尾:append(self, object)
less3 = [1,2,'a','b']
less3.append('c') #得到 ['1', '2', 'a', 'b', 'c']

# 通过添加指定列表的所有元素来扩充列表:extend(self, iterable) terable(可迭代的,迭代器)
less3 = [1,2,'a','b']
less3.extend([4,5,6]) #得到 [1, 2, 'a', 'b', 4, 5, 6]

# 在指定位置插入一个元素,index是要插入位置的索引,object是要插入的元素:insert(index, object)
less3 = [1,2,'a','b']
less3.insert(3,'D') #得到 [1, 2, 'a', 'D', 'b']
  • 删除

# 从列表中删除值为x的第一个元素,若没有,则返回一个错误: remove(x)
less3 = [1,2,'a',1,'b']
less3.remove(1) # 得到[2,'a',1,'b']

# 从列表中的索引或切片删除: del
less3 = [1,2,'a',1,'b']
del less3[2]  #得到 [1, 2, 1, 'b']

# 切片删除
less3 = [1,2,'a',1,'b']
del less3[0:2] #得到  ['a', 1, 'b']

# 从列表中删除index指定的索引的值,并将其返回: pop(index=None)
less3 = [1,2,'a',1,'b']
less3.pop(2) #得到 [1, 2, 1, 'b']

# 若没有指定索引,默认删除最后一个元素,并将其返回
less3 = [1,2,'a',1,'b']
less3.pop() #得到 [1, 2, 'a', 1]

# 清空了列表
less3 = [1,2,'a',1,'b']
less3[:] = []

  • 修改
# 对指定索引进行赋值操作,对一个元素
less3 = [1,2,'a',1,'b']
less3[1] = 'ab' #得到 [1, 'ab', 'a', 1, 'b']

# 对一段元素
less3 = [1,2,'a',1,'b']
less3[0:2] = [7,8,'ede','dede'] #得到 [7, 8, 'ede', 'dede', 'a', 1, 'b']
  • 其他操作
# 跟索引取值
less3 = [1,2,'a',1,'b']

less3[0] #得到1

less3[-1] #得到 b

# 返回索引
# 返回列表中第一个值为 x 的元素的索引,不存在就返回错误. 可指定开始点和结束点的索引,范围前开后闭:index( x, start=None, stop=None)
less3 = [1,2,'a',1,'b']
less3.index(1) #得到 0
less3.index(2) #得到 1
less3.index('a') #得到2

注:除 index()、count() 外,其余的方法都是对列表本身进行修改,操作过后,列表会改变

常见操作:

统计一个元素的出现次数:count(x)

less3 = [1,2,'a',1,'b']    
less3.count(1) #得到 2 

切片

#列表切片前后原列表不变,切出来的分片是重新开辟一块内存的列

less3 = [1,2,'a',1,'b']  
less3[0:2] #返回[1, 2],   取区间[i,j) ,左闭右开  
less3[:2] #返回[1, 2],可省略第一位  
less3[2:] #返回['a', 1, 'b']  
less3[2:-1] #返回 ['a', 1]  
less3[:] #返回 [1, 2, 'a', 1, 'b'] 相当于复制一份  
less3[::2] #返回 [1, 'a', 'b'] 步长为2  
less3[:4:2] #返回 [1, 'a']  

排序

#对列表中的元素进行排序,默认从小到大,不能比较不同类型数据,key指定以...排序,reverse=True 表示逆序(从大到小):sort(key=None, reverse=False)

less4= [3,2,7,5,1,4,9,0,23,13]  
less4.sort()#得到 [0, 1, 2, 3, 4, 5, 7, 9, 13, 23]  

列表的复制,等于lis[:]

less3 = [1,2,'a',1,'b']  
less4 = less3[:]  

遍历列表

less3 = [1,2,'a',1,'b']  
for i in less3:  
    print i  

计算列表长度

less3 = [1,2,'a',1,'b']  
len(less3) #得到 5  

列表的比较

#对应索引的元素一一对应比较  
#从第一个元素开始比较(索引为0),只要有一个元素大,后面就不用再比较。类似字符串的比较,但字符串比较多是Asscii码 

less3 = [1,2,'a',1,'b']  
less4 = [3,2,7,5,1,4,9,0,23,13]  
less3>less4 #得到 False  
less3<less4 #得到 True

判断元素是否在列表内 in 、not in

less3 = [1,2,'a',1,'b']  
1 in less3  #得到 True  
0 not in less3 #得到 True  
 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容