1. 列表的概念

列表(list)就像在其他语言中声明的数组一样。列表不一定是同类的,这使它成为Python中最强大的工具。单个列表可能包含整数,字符串以及对象等数据类型。列表对于实现堆栈和队列也非常有用。列表是可变的,因此,即使在创建之后它们也可以被更改。

在Python中,list是Data Structures中的一种容器,用于同时存储多个数据。与集合不同,Python中的列表是有序的并具有明确的计数。列表中的元素根据确定的序列进行索引,并且列表的索引以0作为第一个索引来完成。列表中的每个元素在列表中都有明确的位置,这允许复制列表中的元素,每个元素都有自己独特的位置和可信度。

2. 注意事项

在python中,若用赋值语句将列表赋值给另外一个变量时,其实并不能做一个备份,而是将指针指向了同一个内存

colors = ['red', 'blue', 'green']
b = colors   ## Does not copy the list

复制List指向内存.png

3.示例代码

这里主要展示了List的连接,索引,切片,再赋值,以及添加新的item和list的内嵌

# -*- coding: utf-8 -*-
"""
Created on Sun Jul 28 15:09:22 2019

@author:  jlblog.tech
"""

listPeople=["tom","harry","jane","liz"]
listFlowers=["rose","lily","tulip","lantana"]
listPets=['cat','turtle','goat','dog']
listNumFriends=[21,33,10,51]
 
listAtypical=[1,'cat',0x45,567]
 
print("listPeople:     ",listPeople)
print("listFlowers:    ",listFlowers)
print("listPets:       ",listPets)
print("listNumFriends: ",listNumFriends)
print("listAtypical:   ",listAtypical)
print()

#就和string一样,我们可以对list做如下的操作
#concatenate lists(连接列表)
listConcat=listPeople+listPets
print("listConcat       -->",listConcat)
#length of list
print("len(listPeople)  -->",len(listPeople))

#refer to item in list with index
print("listPeople[2]    -->",listPeople[2])
print("listPeople[-3]   -->",listPeople[-3])

#列表切片 [开始索引:结束索引]
print("listPeople[2:]   -->",listPeople[2:])
print()
#和字符串(string)不同的是,list是可变的
listPets[0]='trex'
print(listPets)

#给列表切片赋值
listPets[0:2]=['python','elephant']
print(listPets)
#删除一个切片
listPets[2:4]=[]
print(listPets)

#向列表添加新的项目
listPets.append('fox')
print(listPets)

#赋值空列表来清空列表
listPets[:]=[]
print(listPets)
print()
#我们可以从已有列表创新新的列表,并给其赋值
sublistPeople=listPeople[0:3]
print("listPeople:    ",listPeople)
print("sublistPeople: ",sublistPeople)
print()
#也可以从已有列表的item中提取创建新的列表
listCompiled=[(listPeople[0]).upper(),listFlowers[0],listNumFriends[0]+10]
print("listPeople:       ",listPeople)
print("listFlowers:      ",listFlowers)
print("listNumFriends:   ",listNumFriends)
print("listCompiled:     ",listCompiled)

#我们可以从列表中内嵌列表
listNested=[listPeople,listFlowers]
print("listPeople:       ",listPeople)
print("listFlowers:      ",listFlowers)
print("listNested:       ",listNested)
#嵌套列表在index为0时就是-->listPeople列表
print("listNested[0]:    ",listNested[0])
#嵌套列表在index为1时就是-->listFlowers列表
print("listNested[1]:    ",listNested[1])

#选取index为0的列表中index为1的项目 即listPeople[1]
print("listNested[0][1]: ",listNested[0][1])
#选取index为1的列表中index为2的项目 即listFlowers[2]
print("listNested[1][2]: ",listNested[1][2])
print()

4. 运行结果

List result 01