列表定义

列表 是python中的一种数据类型,可以存放多个数据,列表中的数据可以是任意类型

类型是 list ,定义使用[]进行定义

# 定义列表
my_list =  []
print(my_list, type(my_list))
my_list1 = list()
print(my_list1, type(my_list1))

# 定义带数据的列表,数据元素之间使用逗号隔开
my_list2 = [1,2,3,True, 'iassc']
print(my_list2)
num = len(my_list2)
print(num)

# 列表支持下标和切片操作
print(my_list2[1])
print(my_list2[-1])
print(my_list2[1:3])

# 和字符串不同的是:字符串不能使用下标修改数据,列表可以根据下标修改数据
my_list2[0] = 18
print(my_list2)

列表遍历

my_list = ['李连杰', '周润发', '刘德华']

for i in my_list:
  print(i)

j = 0
while j < len(my_list):
  print(my_list[j])
  j += 1

列表添加数据

# 向列表中添加数据的方法,都是直接在原列表中进行添加的,不会返回新数据的

# 列表.append(数据)向列表尾部追加数据
my_list = ['李连杰', '周润发', '刘德华']
my_list.append('张学友')
print(my_list)
# 列表.insert() 指定的下标位置添加数据
my_list.insert(2,'黎明')
print(my_list)

# 列表.extend() 可迭代对象 会将可迭代对象中的数据逐个添加的原列表的末尾
my_list.extend('李小龙')
print(my_list)
my_list.extend(['李小龙'])
print(my_list)

列表的查询操作

# index() 根据数据值,查找元素所在的下标,找到返回的元素下标,没有找到程序报错
# 列表中没有find方法,只有index()方法
my_list = ['李连杰', '周润发', '黎明', '刘德华', '张学友', '李小龙']
name = my_list.index('李小龙')
print(name)

# 统计出现的次数
num = my_list.count(1)
print(num)

# in /not in  判断是否存在,存在是True,不存在是False,一般和if结合使用
name = '李小龙' in my_list
print(name)

name = '李小龙' not in my_list
print(name)

列表的删除操作

my_list = ['李连杰', '周润发', '黎明', '刘德华', '张学友', '李小龙']
# 根据元素的数据值删除remove(),直接原列表删除
my_list.remove('李')
prinf(my_list)

# 根据下标删除
# pop(下标),默认删除最后一个数据,返回删除内容 删除的下标不存在会报错
my_list1 = my_list.pop()
print(my_list1)

# del也可以根据下标删除 删除不存在的下标会报错
del my_list[1]

列表的排序和逆置

n_list = [1,2,5,9,3,7,4,8,6]
# 想要对列表中的数据进行排序,前提是列表中的数据类型是一致的
# 列表.sort() 直接在原列表中进行排序的
n_list.sort()
print(n_list)

# 倒序
n_list.sort(reverse=True)
print(n_list)

# 补充:sorted(列表)排序,不会再原有的列表中进行排序,会得到一个新的列表

列表的嵌套

school_names = [['北京大学', '清华大学'],['南开大学','天津大学','天津师范大学'],['山东大学','中国海洋大学']]
print(school_names[1])
print(school_names[1][1])
print(school_names[1][1][1])

案列分配办公室

# 一个学校,有3个办公室,现在有8位老师等待工位分配,请编写程序,完成随机分配
import random

# 定义一个列表用来保存3个办公室
offices = [[],[],[]]
# 定义一个列表用来存储8位老师的名字
names = ['A','B','C','D','E','F','G','H']

for name in names:
  index = random.randint(0,2)
  offices[index].append(name)

print(offices)
for office in offices:
  print(f'该办公室老师的个数为{len(office)},办公室老师名字为:')
  for teacher in office:
    print(teacher, end = ' ')
  print()

元组

python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号。

my_tuple = (18,3.14,True,'isaac')
# 元组支持下标和切片操作
print(my_tuple[1])

results matching ""

    No results matching ""