Lesson 2#01 列表

Posted wudtime

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lesson 2#01 列表相关的知识,希望对你有一定的参考价值。

列表 list

列表是Python中最基本的数据结构。序列中的每个元素都会分配索引,从左至右第一个索引是0,第二个索引是1,依此类推。

列表的创建:

创建一个列表,只需要把用逗号分隔的不同的数据使用方括号括起来即可。例如:

注意:

列表中的值可以是数字,可以是字符,也可以是变量,
列表中的数据可以重复
name = "suyp"
age = 18
sex = "man"
list = [1,2,3,4,5,6,7,"a","b","c","d",e","f","g,1,2,3,4,5,6,7,name,age,sex]
# 列表中的值可以是数字,可以是字符,也可以是变量,
# 列表中的数据可以重复

列表的索引:

索引用来快速访问列表中值

name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
#索引用来访问列表中的值
#此列表中的索引,从左至右分别是0,1,2,3,4,5,6,7,8,9,10,11
#此列表中的索引,从右至左分别是 -1,-2,-3,-4,-5 ,-6,-7,-8,-9,-10,-11,-12

列表的嵌套:

一个列表中可以包含另外一个列表,例如

name = "suyp"
age = 18
sex = "man"
list1 = [1,2,3,"a","b","c",1,2,3,name,age,sex]
list2 = ["suyp","liuzhen","lirs",list1[:]] # list2 中嵌套了list列表
list3 = ["machao","wangcc","wangmeng",["yinsj","weill","liyl"]] #list3中嵌套了一个新的列表

列表的查询和切片:

通过列表的索引查询和切片

切片语法:sequence[start : end : step]

sequence:序列

step:步长

name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
print(list[0])  #查询单个值
print(list[-1]) #查询列表的最后一个值
print(list[:])  #查询整个列表
print(list[0:2])    #列表的切片:从左至右查询两个值,顾头不顾尾
print(list[-5:-1])  #列表的切片:查询列表的最后4个值,顾头不顾尾
print(list[-5:])    #列表的切片:查询列的最后5个值
print(list[3:6])    #列表的切片:从列表中间切片

查询列表中值的索引值和重复值:

name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
print(list.index("c"))  #快速查找列表中某个值的索引
print(list.count(1))    #快速查找列表中某个值得数量

列表查询的步长:

name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
print(list[0:7:2])  #列表数据0-7,以2个步长进行取值,步长不能为0,默认为1
print(list[:7:2])   #和上面的print语句意思相同
print([list[::2]])  #全部列表数据,以2个步长进行取值

列表的修改:

name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
list.append("lirs") #追加,追加只在列表最后一位追加
list.insert(0,"liuzhen")    #在列表的第一位之前插入一个数据
list.insert(2,"machao")     #在列表的任意位置插入一个数据
list[5] = "wangcc"      #修改列表中的某个值
list[6:8] = "Gold"      #批量修改,修改过程中,如果位数不够,多余的数值会以插入的形式写入列表中

列表的删除:

pop()的用法

pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值,返回值可以付给变量
语法:list.pop(obj=list[-1])
name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
nnn = list.pop()    # pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值,返回值可以付给变量
print("列表删除的内容:",nnn)
print("列表当前的内容:",list)

remove() 用于删除列表中存在的任意值,

注意:

1、该函数的参数是列表中的真实值,不是索引;

 2、如果要删除的值在列表中有重复值,只删除从左起第一个。

name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
list.remove(3)      #删除列表中的指定值
print(list)

del :从全局范围删除列表中的数据,可以是列表中的某个索引对应的值,也可以是整个列表

del list[5]     #删除指定列表中的指定索引对应的值
del list[1:5]       #批量删除
del list        #删除list 列表

 列表排序:

列表排序的规则是按照ASCII码表的顺序进行排序的。

单个方法支持同一种类的字符排序,int 和 str 两个类型的字符不能在一个列表中进行排序

list.sort() # 列表排序,正序,不支持int 和 str 一起进行排序
list.reverse()#列表排序,倒序,不支持int 和 str 一起进行排序
list.extend()# 列表扩展,和 两个列表直接相加是一个效果,list1 + list2 
list.clear() # 清空列表

 

 

 

以上是关于Lesson 2#01 列表的主要内容,如果未能解决你的问题,请参考以下文章

Lesson 2#02 深浅copy

Android:RecyclerView 不显示片段中的列表项

片段之间的共享数据(父列表视图和子列表视图)

从另一个片段中的目录更新片段中的列表视图元素

Lesson 018 —— python 集合

基于时间复杂度的这些片段真的很困惑