小白的python进阶历程------06.列表(list)

列表(list)

有序、可变、可重复、可存放任何类型的数据

1).list的格式

lt = [21,"python","it","china"]
lt = [name,job] = ["Jack","IT"]
lt = []
lt = ["python"]
print(lt,type(lt))

2).list的相关操作及函数

        在对之前字符串相关操作和函数的整理中,可以发现,几乎所有的操作和函数无外乎进行“增,删,改,查”这4种操作;其实不仅仅是字符串,在之后所以数据类型的中,其相关操作和函数也是用来实现这4种操作方式,只是根据各数据类型的特点,所能进行的操作有所不同。由于列表的特点是有序、可变、可重复、可存放任何类型的数据,所以列表可以完成4种操作中的每一种操作。下面根据这4种操作来进行列表相关操作和函数的整理归纳。

(1).增:

对列表中的元素进行增加操作。

函数:append和insert

lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"]
lt1.append("suzhou")                    #添加到列表最后
lt1.insert(2,"tianjin")                 #添加到列表中的某个位置
print(lt1)

(2).删:

对列表中的元素进行删除操作。

函数:remove,pop,clear

lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"]
lt1.remove("nanjing")                        #删除指定元素名的元素
lt1.pop()                                    #默认删除最后一个元素,()加索引号效果等同于del
lt1.clear()                                  #清空列表元素,但保留列表
print(lt1)

(3).改:

对列表中的元素进行更改。

根据索引位置更换元素

lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"]
lt1[4] = "tianjin"                         #直接更改该索引位置的元素
print(lt1)

函数:reverse,sort

lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"]
lt1.reverse()                               #反转列表中的元素的索引,以倒叙排列
lt1.sort()                                  #以ASCII表的顺序对元素进行重新排列
print(lt1)

(4).查:

对列表中的元素进行查找。

切片查找元素(类似元素切片,特点:含头不含位,起始位置索引为0,反向起始索引位置为-1)

lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"]
print(lt1[0:2:1])                             #[a:b:c] 分别代表起始索引,终止索引和步长

函数:index,count

lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"]
print(lt1.index("hangzhou"))                  #通过元素名找到该元素所在位置索引
print(lt1.count("hangzhou"))                  #查找该名称元素的在列表中个数(有多个相同元素的时候)

(5).对列表整体的操作

extend:合并列表

lt1 = ["beijing","shanghai","hangzhou","shenzhen","nanjing"]
lt2 = ["China","America","Japan"]
lt1.extend(lt2)  #相当于lt1+lt2               #合并两个列表
print(lt1)

copy:拷贝列表

#浅copy
lt1 = ["beijing","shanghai",["beijing","天津"],"hangzhou","shenzhen","nanjing"]
lt2 = lt1.copy()                          #复制当前列表(浅copy)只能复制一层
print(lt1)
print(lt2)
lt1[1] = "上海"                           #当第一层的元素改变时,copy内容不变
print(lt1)
print(lt2)
lt1[2][0] = "北京"                        #当列表中第二层列表元素发生改变,copy内容也随之改变
print(lt1)
print(lt2)

#深copy
import copy
lt3 = ["beijing","shanghai",["beijing","天津"],"hangzhou","shenzhen","nanjing"]
lt4 = copy.deepcopy(lt3)               #第二层的元素改变时,copy也保持不变
print(lt3)
print(lt4)
lt3[2][0] = "北京"                        
print(lt3)
print(lt4)

3).遍历列表

将列表中的元素以字符串的形式依次打印出来

lt = ["beijing","shanghai",["beijing","天津"],"hangzhou","shenzhen","nanjing"]
for i in lt:
    print(i)

 

posted @ 2018-09-19 21:05  chen_sang  阅读(142)  评论(0编辑  收藏  举报