List
- 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至包含列表(所谓嵌套)。
- 列表是写在方括号[]之间、用逗号分隔开的元素列表。
- 列表索引值以0为开始值,-1为从末尾的开始位置。
- 列表可以使用+操作符进行拼接,使用*表示重复。
#namelist = [] #定义一个空的列表
namelist =['小张','小王','小李']
testlist = [1,'测试'] #列表中可以存储混合类型
print(type(testlist[0]))
print(type(testlist[1]))
print(namelist[0])
print(namelist[1])
print(namelist[2])
运行结果
for name in namelist:
print(name)
#print(len(namelist)) #len()可以得到列表的长度
length = len(namelist)
i = 0
while i<length:
print(namelist[i])
i += 1
运行结果
常用操作
#增: 【append】
print('-----增加前·名单列表的数据-----')
for name in namelist:
print(name)
nametemp = input('请输入添加学生的名字:')
namelist.append(nametemp) #在末尾追加一个元素
print('-----增加后·名单列表的数据-----')
for name in namelist:
print(name)
运行结果
#增: 【extend】
a = [1,2]
b = [3,4]
a.append(b) #将列表当做一个元素,加入到a列表中
print(a)
a.extend(b) #将b列表中的每个元素,逐一追加到a列表中
print(a)
运行结果
#增 【insert】
a = [0,1,2]
a.insert(1,3) #第一个变量表示下标,第二个表示元素(对象)
print(a) #指定下标位置插入元素
运行结果
#删 【del】 【pop】 【remove】
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','速度与激情', '指环王'] #组内内容可重复
print('-----删除前·电影列表的数据-----')
for name in movieName:
print(name)
#del movieName[2] #在指定位置删除一个元素
#movieName.pop() #弹出末尾最后一个元素
movieName.remove('指环王') #直接删除指定内容的元素,重复时删除第一个
print('-----删除后·电影列表的数据-----')
for name in movieName:
print(name)
运行结果
#改:
print('-----增加前·名单列表的数据-----')
for name in namelist:
print(name)
namelist[1] = '小红' #修改制定下标的元素内容
print('-----增加后·名单列表的数据-----')
for name in namelist:
print(name)
运行结果
#查: 【in·not in】
findName = input('请输入你要查找的学生姓名:')
if findName in namelist:
print('在学员名单中找到了相同的名字')
else:
print('没有找到')
运行结果
mylist = ['a','b','c','a','b']
print(mylist.index('a',1,4)) #可以查找指定下标范围的元素,并返回找到对应数据的下标
print(mylist.index('a',1,3)) #范围区间,左闭右开 【1,3)
#找不到会报错
运行结果
print(mylist.count('c')) #统计某个元素出现几次
运行结果
#排序和反转
a = [1,4,2,3]
print(a)
a.reverse() #将列表所有元素反转
print(a)
a.sort() #升序
print(a)
a.sort(reverse=True) #降序
print(a)
运行结果
#schoolName = [[],[],[]] #有3个元素的空列表,每个元素都是一个空列表
schoolName = [['北京大学','清华大学'],['南开大学','天津大学','天津师范大学'],['山东大学','中国海洋大学']]
print(schoolName[0][1])
随机打印办公室人数
import random
offices = [[],[],[]]
names = ['A','B','C','D','E','F','G','H']
for name in names:
index = random.randint(0,2)
offices[index].append(name)
i = 1
for office in offices: #指代一个列表
print('办公室%d 的人数为:%d'%(i,len(office)))
i += 1
for name in office: #某一个办公室里具体一个人
print('%s'%name,end='\t')
print('\n')
print('-'*20)
运行结果
版权声明:本文为Tacotl原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。