python之列表

@

List(列表)简述

  • 列表可以完成大多数集合类的数据结构实现
  • 列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(嵌套)
  • 列表是写在方括号[]之间、用逗号分隔开的元素列表
  • 列表索引值以0为开始值,-1为从末尾的开始位置。列表可以使用+操作符进行拼接,使用*表示重复
    在这里插入图片描述

初试牛刀

list_1 = [] #定义一个空的列表

namelist = ["小张","小王","小李"]
print(namelist[0])#下标从0开始

for name in namelist: #可以使用for循环遍历
    print(name)

print(len(namelist)) #可使用Len方法知道列表的长度

testlist = [1,"测试"] #可存放不同数据类型的元素
print(type(testlist[0]))
print(type(testlist[1]))

结果:
在这里插入图片描述

常用方法

在这里插入图片描述
在这里插入图片描述

进阶使用


#增---append()、extend()
'''
namelist = ["小张","小王","小李"]
print("添加前的列表------")
for name in namelist:
    print(name)

nameadd = input("添加一个学生:")

namelist.append(nameadd) # 使用append方法在末尾添加元素

print("添加后的列表------")
for name in namelist:
    print(name)
'''

'''
a = [1,2]
b = [3,4]
a.append(b) #会把b列表当作整体,嵌套进a列表
print(a)

a.extend(b) # 把b列表拆散,把b列表的每一个元素逐一添加进a列表
print(a)
'''

'''
a = [0,1,2]
a.insert(1,3) # 第一个变量表示下标,第二个变量表示插入元素
print(a) # 指定下标位置插入元素
'''

#删---del、pop()、remove()
'''
movieName = ["花木兰","黄飞鸿","廉颇","赵云"]
del movieName[1] # 删除指定下标的元素
movieName.pop() # 弹出末尾最后一个元素,类似栈
movieName.remove("廉颇") # 直接删除指定内容的元素,但是如果列表中有重复元素,则只能删除第一个元素

for movie in movieName:
    print(movie)
'''

'''
#改
namelist = ["小张","小王","小李"]
namelist[0] = "小红" #直接修改指定下标的元素

for name in namelist:
    print(name)
'''

'''
#查: in、not in
findName = input("请输入你要查找的学生姓名:")

if findName in namelist:
	print("找到此人")
else:
	print("没有此人")

mylist = ["a","b","c","a","d"]
print(mylist.index("a",1,4)) #找到元素a在列表中下标1到4的中的下标位置,此例输出为3
# 范围区间是左闭右开

print(mylist.count("a")) #统计某个元素在列表中出现的次数
'''

# 排序和反转
'''
a = [1,2,3,4]
a.reverse() #将列表所有元素反转,并不是临时修改,而是永久改变
a.sort() # 升序排列
a.sort(reverse=True) # 降序排列
'''

利用列表的嵌套,把五个老师随机分配到三个办公室,并输出


import random

offices = [[],[],[]] # 三个空的嵌套列表,作为三个办公室

teachers = ["mr.张","mr.王","mr.李","mr.唐","mr.杨"] # 五个老师

# 使用随机数生成0,1,2代表三个办公室下标,每一个嵌套列表使用append追加一个元素
# 利用for循环遍历老师列表,使每一个老师都能随机分配到一个办公室
for teacher in teachers:
    offices[random.randint(0,2)].append(teacher)

i=1#作为办公室计数器
for office in offices:
    print("第%d办公室有%d个老师"%(i,office.__len__()))#此处列表的长度可用len(office)
    i+=1
    for teacher in office:
        print(teacher,end="\t")
    print("\n")

在这里插入图片描述

posted @ 2020-09-09 22:46  孙晨c  阅读(188)  评论(0编辑  收藏  举报