Python 列表操作

#列表可以一次性存储多个数据,且可以为不同的数据类型
#可以对这些数据进行 增/删/改/查
#1.查找
#1.1可以按下标查找
name_list = ['Jack', 'Pony', 'White']
print(name_list)       #输出 ['Jack', 'Pony', 'White']
print(name_list[0])    #输出 Jack
print(name_list[1])    #输出 Pony

#1.2 index() : 返回指定数据所在位置的下标
#语法:列表序列.index(数据, 开始位置下标, 结束位置下标)
# 这里有一个注意点,结束位置下标不包含在查找的范围内,比如0~2,不查找下标为2的内容,如果要查找2,则范围要0 - 3
print(name_list.index('Jack', 0, 3))  #输出 0
print(name_list.index('White', 0, 3)) #输出 2
#print(name_list.index('Black', 0, 3)) #报错 ValueError: 'Black' is not in list

#1.3 count() : 统计指定数据在当前列表中出现的次数
print(name_list.count('Jack')) # 返回1
print(name_list.count('Black'))  #返回 0

#1.4 len() : 访问列表长度, 即列表中数据的个数,是公共函数,在元组,字典中都可以使用这个函数
print(len(name_list)) #返回 3

#2. 判断是否存在
# 应用场景1 判断注册的账号是否已经注册过
#2.1 in : 判断指定数据在某个列表序列,如果在返回True, 否则返回False
print('White' in name_list) # 返回 True
print('Black' in name_list) # 返回 False
#2.2 not in : 判断指定数据不在某个列表序列中
print('White' not in name_list) # 返回 False
print('Black' not in name_list) # 返回 True
#in    not in 小体验
name_list = ['Tom', 'Jack', 'Jone']
use_name = input('请输入用户名:')
if use_name in name_list:
    print('输入的用户名已存在,请重新输入')
else:
    print('输入的用户名不存在,可以注册')
name_list = ['Jack', 'Pony', 'White']
#3. 增加指定数据到列表中
#3.1 append() : 列表结尾追加数据
# 语法 : 列表序列.append(数据)
name_list.append('Black')
print(name_list) # 输出 ['Jack', 'Pony', 'White', 'Black']
name_list.append([11, 22])
print(name_list) # 输出 ['Jack', 'Pony', 'White', 'Black', [11, 22]]
#结论 : a.列表数据可改 -- 列表是可变类型
#       b.append函数追加数据,如果是一个序列,追加整个序列到列表的结尾

#3.2 extend() : 列表结尾追加数据, 如果数据是一个序列,则将这个序列的数据逐一添加到列表。
#语法 : 列表序列.extend(数据)
name_list.extend('Lucy')
print(name_list) #输出 ['Jack', 'Pony', 'White', 'Black', [11, 22], 'L', 'u', 'c', 'y']
name_list.extend(['Lily', 'Brain'])
print(name_list) #输出 ['Jack', 'Pony', 'White', 'Black', [11, 22], 'L', 'u', 'c', 'y', 'Lily', 'Brain']

#3.3 insert() : 指定位置新增数据
#语法 : 列表序列.insert(位置下标, 数据)
name_list.insert(1, 'Hello')
print(name_list) #输出 ['Jack', 'Hello', 'Pony', 'White', 'Black', [11, 22], 'L', 'u', 'c', 'y', 'Lily', 'Brain']

============================================

name_list = ['Jack', 'Pony', 'White']
#4. 删除
#4.1 del
#语法 : del 目标 或者 del(目标)
'''
del name_list
print(name_list) #报错,NameError: name 'name_list' is not defined 因为del name_list将name_list删掉了

del name_list[0]
print(name_list) #输出 ['Pony', 'White']
'''
#4.2 pop()
#删除指定下标的数据,如果不指定下标,则删除最后一个数据,并且返回这个被删除的数据
'''
del_name = name_list.pop()
print(del_name)   #输出 White
print(name_list)  #输出 ['Jack', 'Pony']

del_name = name_list.pop(1)
print(del_name)  #输出 Pony
print(name_list) #输出 ['Jack', 'White']
'''
#4.3 remove(数据)
'''
name_list.remove('Jack')
print(name_list) #输出 ['Pony', 'White']
'''
#4.4 clear() -- 清空列表
name_list.clear()
print(name_list) #输出 [] 

=====================================

name_list = ['Jack', 'Pony', 'White']
#5.修改
#5.1 使用下标进行修改
name_list[0] = 'Jacy'
print(name_list) #输出 ['Jacy', 'Pony', 'White']

#5.2 reverse() 逆序
name_list.reverse()
print(name_list) #输出 ['White', 'Pony', 'Jacy']

#5.3 sort() 排序, 升序 或者 降序
#语法 : 列表序列.sort(key = None, reverse = False)
#key : 当列表里面有字典的时候,要用到这个key
#reverse表示排序规则 = True 降序, reverse = False 升序(默认)
list1 = [2, 1, 5, 4, 3, 6]
list1.sort(reverse = False) #输出 [1, 2, 3, 4, 5, 6]
print(list1)
list1.sort(reverse = True) #输出 [6, 5, 4, 3, 2, 1]
print(list1)

=====================================================

name_list = ['Jack', 'Pony', 'White']
#6.列表的复制
#6.1 copy() 原始的数据保留,复制一份出来进行操作
name_list1 = name_list.copy()
print(name_list)  #输出 ['Jack', 'Pony', 'White']
print(name_list1) #输出 ['Jack', 'Pony', 'White']

=======================================================

#7列表循环遍历
#遍历 : 按顺序依次访问每一个数据
#7.1.while循环遍历列表
'''
name_list = ['Jack', 'Pony', 'White']
i = 0
while i < len(name_list):
    print(name_list[i])
    i += 1

输出
Jack
Pony
White
'''
#7.2 for循环遍历列表
name_list = ['Jack', 'Pony', 'White']
for i in name_list:
    print(i)

'''
输出
Jack
Pony
White
'''

===========================================================

#8.列表的嵌套
#所谓列表的嵌套,就是之一个列表里面包含了其他的子列表
#比如,三个组,每个组里的成员姓名放在一个子列表里
name_list = [['Jack', 'Pony', 'Jone'], ['Lucy', 'Lily', 'Ayma'], ['Willon', 'White']]
print(name_list)
#print(name_list.index('Jack')) #报错 ValueError: 'Jack' is not in list
print(name_list[0].index('Jack')) #输出 0

============================================================

#8个成员随机分到三组
#from random import *
import random
members_names = ['Jack', 'Jone', 'Pony', 'Peter', 'Robet', 'Arm', 'White', 'Lucy']
groups = [[], [], []]
for name in members_names:
    num = random.randint(0, 2)
    groups[num].append(name)

print(groups)
i = 1
for group in groups:
    print(f'第{i}组有{len(group)}个组员,每个组员的姓名是 : ')
    for name in group:
        print(name)
    i += 1

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值