列表——可变类型
name = ['TOM', 'Lily', 'Rose']
# index():找到返回下标,找不到报错
print(name.index('Lily')) # 1
# count():返回找到次数,否则返回0
print(name.count('Lily')) # 1
# len():返回列表长度
print(len(name)) # 3
# in : (‘字符串’ in 列表名)
# not in : (‘字符串’ not in 列表名)
print('TOM' in name) # True
print('TOM' not in name) # False
# 注册邮箱查找对应的用户名是否存在
# name1 = input('请输入您的邮箱账号名:')
# a = name1 in name
# if a :
# print('重复')
# else:
# print('恭喜你')
# append():列表结尾追加数据 列表名.append(数据)
# 列表是可变数据类型
name.append('XiaoMing') # ['TOM', 'Lily', 'Rose', 'XiaoMing']
print(name)
name.append([11, 12]) # ['TOM', 'Lily', 'Rose', 'XiaoMing', [11, 12]]
print(name)
# extend():将列表或者字符串拆开放在列表结尾追加数据 列表名.extend(数据)数据如果是字符串是一个个拆开
name.extend('XiaoMing') # ['TOM', 'Lily', 'Rose', 'XiaoMing', [11, 12], 'X', 'i', 'a', 'o', 'M', 'i', 'n', 'g']
print(name)
name.extend([11, 12]) # ['TOM', 'Lily', 'Rose', 'XiaoMing', [11, 12], 'X', 'i', 'a', 'o', 'M', 'i', 'n', 'g', 11, 12]
print(name)
# insert(位置下标,数据)
name.insert(1,[11, 12]) # ['TOM', [11, 12], 'Lily', 'Rose', 'XiaoMing', [11, 12], 'X', 'i', 'a', 'o', 'M', 'i', 'n', 'g', 11, 12]
print(name)
# del删除列表或者删除指定下标的元素
# pop删除指定下标数据,如果不指定,默认删除最后一个数据,无论删除哪一个,pop都会返回这个被删除的数据
del name[3]
print(name) # ['TOM', [11, 12], 'Lily', 'XiaoMing', [11, 12], 'X', 'i', 'a', 'o', 'M', 'i', 'n', 'g', 11, 12]
name2 = name.pop()
print(name2) # 12
# remove(数据)
name.remove('Lily')
print(name) # ['TOM', [11, 12], 'XiaoMing', [11, 12], 'X', 'i', 'a', 'o', 'M', 'i', 'n', 'g', 11]
# clear()
name.clear()
print(name) # []
# 直接下标修改
list1 = [1, 3, 5, 2, 4, 6]
list1[0] = 7
print(list1) # [7, 3, 5, 2, 4, 6]
# 逆序输出 reverse()
list1.reverse()
print(list1) # [6, 4, 2, 5, 3, 7]
# sort(key = none, reverse = False) 排序: 升序(默认 False) 降序
list1.sort(reverse = False)
print(list1) # [2, 3, 4, 5, 6, 7]
list1.sort(reverse = True)
print(list1) # [7, 6, 5, 4, 3, 2]
# copy() 需要保存一份列表最初数据时需要copy函数
name_list2 = list1.copy()
print(list1) # [7, 6, 5, 4, 3, 2]
print(name_list2) # [7, 6, 5, 4, 3, 2]
# while遍历列表
i = 0
while i < len(name_list2):
print(name_list2[i])
i += 1
# for遍历列表
j = 0
for k in name_list2:
print(k)
# 列表嵌套
name_list3 = [['TOM', 'Lily', 'Rose'], ['张三', '李四', '王五'], ['狐狸', '猫', '狗']]
print(name_list3[2][0]) # 狐狸
# 办公室分配问题 八个老师三个办公室
teachers = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
offices = [[], [], []]
for name3 in teachers:
offices[random.randint(0, 2)].append(name3)
print(offices)
for name4 in offices:
print(f'办公室里面的人有{len(name4)}个,分别是:')
for name5 in name4:
print(name5)