zoukankan      html  css  js  c++  java
  • python列表

    一、查找

    1.1 index():返回指定数据所在位置的下标

    name_list = ['Tom', 'Lily', 'Rose']
    
    print(name_list.index('Tom'))   # 0
    # print(name_list.index('Toms'))    # 报错
    

    1.2 count():统计指定数据在当前列表中出现的次数

    name_list = ['Tom', 'Lily', 'Rose']
    
    print(name_list.count('Lily'))  # 1
    print(name_list.count('Lilys'))  # 0
    

    1.3 len():访问列表中数据的个数

    name_list = ['Tom', 'Lily', 'Rose']
    
    print(len(name_list))   # 3
    

    二、判断是否存在

    2.1 in:判断指定数据在某个列表序列,如果在返回True,不在返回False

    name_list = ['Tom', 'Lily', 'Rose']
    
    print('Tom' in name_list)   # True
    print('Toms' in name_list)   # False
    

    2.2 not in:不在返回True,在返回False

    name_list = ['Tom', 'Lily', 'Rose']
    
    print('Tom' not in name_list)   # False
    print('Toms' not in name_list)   # True
    

    三、增加数据

    3.1 append():列表结尾追加数据,如果追加的数据是一个序列,则追加整个序列到列表

    name_list = ['Tom', 'Lily', 'Rose']
    
    name_list.append('xiaoming')
    print(name_list)    # ['Tom', 'Lily', 'Rose', 'xiaoming']
    name_list.append(['zhangsan', 'lisi'])
    print(name_list)    # ['Tom', 'Lily', 'Rose', 'xiaoming', ['zhangsan', 'lisi']]
    

    3.2 extend():列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表

    name_list = ['Tom', 'Lily', 'Rose']
    
    name_list.extend('xiaoming')
    print(name_list)    # ['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
    name_list.extend(['zhangsan', 'lisi'])
    print(name_list)    # ['Tom', 'Lily', 'Rose', 'zhangsan', 'lisi']
    

    3.3 insert():指定位置新增数据,插入

    name_list = ['Tom', 'Lily', 'Rose']
    
    name_list.insert(1, 'xiaoming')
    print(name_list)    # ['Tom', 'xiaoming', 'Lily', 'Rose']
    name_list.insert(1, ['xiaoming', 'zhangsan', 11, 22])
    print(name_list)    # ['Tom', ['xiaoming', 'zhangsan', 11, 22], 'xiaoming', 'Lily', 'Rose']
    

    四、列表删除数据

    4.1 del():

    name_list = ['Tom', 'Lily', 'Rose']
    
    # del 可以删除指定下标的数据
    del name_list[0]
    print(name_list)    # ['Lily', 'Rose']
    
    # del name_list
    # del(name_list)
    # print(name_list)    # NameError: name 'name_list' is not defined
    

    4.2 pop():

    name_list = ['Tom', 'Lily', 'Rose']
    
    # pop() -- 删除指定小标的数据,如果不指定下标,默认删除最后一个数据,
    # 无论是按照下标还是删除最后一个,pop函数都会返回这个被删除的数据
    
    # del_name = name_list.pop()
    # print(del_name)     # Rose
    # print(name_list)    # ['Tom', 'Lily']
    
    del_name = name_list.pop(1)
    print(del_name)     # Lily
    print(name_list)    # ['Tom', 'Rose']
    

    4.3 remove():

    name_list = ['Tom', 'Lily', 'Rose']
    
    # remove()
    name_list.remove('Rose')
    print(name_list)    # ['Tom', 'Lily']
    

    4.4 clear(): 清空列表

    name_list = ['Tom', 'Lily', 'Rose']
    
    # clear() 清空列表
    name_list.clear()
    print(name_list)    # []空列表
    

    五、修改列表

    5.1 reverse() 逆置

    list1 = [1, 2, 3, 4, 5, 8, 6, 9, 7]
    list1.reverse()
    print(list1)  # [7, 9, 6, 8, 5, 4, 3, 2, 1]
    

    5.2 sort():排序,升序(默认)或降序

    list1 = [1, 2, 3, 4, 5, 8, 6, 9, 7]
    # list1.sort()
    # print(list1)    # [1, 2, 3, 4, 5, 6, 7, 8, 9] 升序
    list1.sort(reverse=True)
    print(list1)        # [9, 8, 7, 6, 5, 4, 3, 2, 1] 降序
    

    六、列表复制

    • copy()复制
    name_list = ['Tom', 'Lily', 'Rose']
    
    list1 = name_list.copy()
    
    print(list1)    # ['Tom', 'Lily', 'Rose']
    print(name_list)    # ['Tom', 'Lily', 'Rose']
    
    

    七、列表的循环遍历

    7.1 while

    name_list = ['Tom', 'Lily', 'Rose']
    
    i = 0
    while i < len(name_list):
    	print(name_list[i])
    	i += 1
    

    7.2 for

    name_list = ['Tom', 'Lily', 'Rose']
    
    for i in name_list:
    	print(i)
    

    综合应用:随机分配办公室

    """
    需求:8位老师,3个办公室,将8为老师随机分配到3个办公室
    步骤:
    	1、准备数据
    		1.1 8位老师 --- 列表
    		1.2 3个办公室 --- 列表嵌套
    	2、分配老师到办公室
    		*** 随机分配
    		就是把老师的名字写入到办公室列表 -- 办公室列表追加老师名字数据
    	3、验证是否分配成功
    		打印办公室详细信息:每个办公室的人数和对应的老师名字
    """
    
    import random
    
    # 1. 准备数据
    teachers = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
    offices = [[], [], []]
    
    # 2.分配老师到办公室 -- 取到每个老师放到办公室列表 -- 遍历老师列表数据
    for name in teachers:
    	# 列表追加数据 -- append extend insert
    	num = random.randint(0, 2)
    	offices[num].append(name)
    
    # print(offices)
    
    # 为了更贴合生活,把每个办公室子列表加一个办公室编号1,2,3
    i = 1
    # 3. 验证是否分配成功
    for office in offices:
    	# 打印办公室人数 -- 子列表数据的个数 len()
    	print(f'办公室{i}的人数是{len(office)}, 老师分别是:')
    	# 打印老师的名字
    	# print() == 每个子列表里面的名字个数不一定 -- 遍历 -- 子列表
    	for name in office:
    		print(name)
    
    	i += 1
    
    
  • 相关阅读:
    thinkphp下载远程图片到本地
    centos6.5安装sublime text 2
    centos6.5安装node.js
    thinkphp分页搜索条件带中文参数
    netbean快捷键
    caffe+NVIDIA安装+CUDA7.5+ubuntu14.04(显卡GTX1080)
    poj 1410 Intersection
    安装openblas和matcaffe时遇到的问题
    ubuntu 14.04 安装matlab2015b(破解版),具体软件请访问我的网盘~
    FasterRCNN编译使用及相应问题解决
  • 原文地址:https://www.cnblogs.com/qian-yuan/p/14603254.html
Copyright © 2011-2022 走看看