zoukankan      html  css  js  c++  java
  • Python-列表(list)

    创建列表的三种方式:
    (1). 方式1

    l1 = [1,2,3]  # 直接添加列表
    print(l1)

    (2). 方式2

    l1 = list()    # 创建一个空列表
    l1.append(1)  # 通过拼接方式添加字符串
    print(l1)    # 输出l1

    (3). 方式3(range()创建整数列表)

    list_01 = list(range(start,end))  # 在list_01列表里添加从start开始,end结束的数
    list_01 = list(range(1,10))        # [1, 2, 3, 4, 5, 6, 7, 8, 9]

    (4). 方式4(列表推导式)

    re = [i*2 for i in range(1,10)]            # 将1-10给i并乘2输出
    print(re)                # [2, 4, 6, 8, 10, 12, 14, 16, 18]

    常用函数:

    len(list)            # 返回列表元素个数
    max(list)            # 返回列表元素中的最大值
    min(list)            # 返回列表元素中的最小值
    list(seq)            # 用于将元组或字符串转换为列表

    常用方法:

    list.append(obj)        # 用于在列表末尾添加新的对象
    list.count(obj)        # 用于统计某个元素在列表中出现的次数
    list.extend(seq)        # 用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    list.index("字符串")    # 从列表中找出'字符串'第一个匹配项的索引位置
    list.insert(index,obj)    # 用于将指定对象插入列表的指定位置
    list.pop(index)        # 删除列表的一个指定下标元素(默认最后一个元素),并返回该元素的值
    list.remove(obj)        # 移除列表中指定元素
    list.reverset()        # 反转列表中的元素
    list.sort()            # 对列表进行排序
    list.clear()            # 清空列表内所有的元素
    list.copy()            # 对列表进行复制,赋给另一个列表

    简单操作:

    索引切片(布长)

    l1 = [1,2,3,4,5,6,7,8,9]
    print(l1[0]) # 1
    print(l1[:]) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
    print(l1[2:5]) # [3, 4, 5]
    print(l1[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1]

    查:

    (1). while循环输出元素

    l1 = [1,2,3,4,5,6,7,8,9]
    i = 0
    while i <= len(l1) - 1 :
        print(l1[i],end=" ")        # 1 2 3 4 5 6 7 8 9 
        i+=1

    (2). for循环输出

    l1 = [1,2,3,4,5,6,7,8,9]
    for i in range(len(l1)) :
        print(l1[i],end=" ")        # 1 2 3 4 5 6 7 8 9 

    (3). 使用enumerate(枚举)

    # 1). 通过拆包方式进行那值
    l = ['京文','琪琪','熊大','萝卜头']
    for i,j in enumerate(l,1):
        print(i,j)
    
    # 2). 将列表改变为元素进行查询
    l = ['京文','琪琪','熊大','萝卜头']
    for i in enumerate(l,1):
        print(i)

    增:

    (1). append:  追加,给列表的最后面追加一个元素(可以添加列表)

    l1 = [1,2,3,4,5,6,7,8,9]
    l1.append("小明")
    print(l1)        # [1, 2, 3, 4, 5, 6, 7, 8, 9, '小明']

    (2). insert:  插入在列表的指定索引前,插入元素

    l1 = [1,2,3,4,5,6,7,8,9]
    l1.inser(3,"小明")
    print(l1)            # [1, 2, 3, '小明', 4, 5, 6, 7, 8, 9]

    (3). extend :  迭代着追加,在列表的最后面迭代这追加一组数据

    l1 = [1,2,3,4,5,6,7,8,9]
    l2 = [6,2,88,33,1]
    l1.extend(l2)
    print(l1)        # [1, 2, 3, 4, 5, 6, 7, 8, 9, 6, 2, 88, 33, 1]

    删:

    (1). pop : 通过索引删除列表中对应的元素(l2取出该元素),默认为最后一个元素

    l1 = [1,2,3,4,5,6,7,8,9]
    l2 = l1.pop(2)
    print(l2," ",l1)        # 3   [1, 2, 4, 5, 6, 7, 8, 9]

    (2). remove : 通过获取的值,删除指定列表里边指定的元素

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

    (3). clear : 直接清空列表的所有元素

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

    (4). del : 按照索引删除列表中对应的元素

    l1 = [1,2,3,4,5,6,7,8,9]
    del l1[2]
    print(l1)            # [1, 2, 4, 5, 6, 7, 8, 9]

    (5). 切片(步长)删除该元素

    l1 = [1,2,3,4,5,6,7,8,9]
    del l1[1:]
    print(l1)        # [1]
    
    
    l2 = [1,2,3,4,5,6,7,8,9]
    del l2[::2]
    print(l2)        # [2, 4, 6, 8]

    改:

    (1). 直接通过索引改

    l1 = [1,2,3,4,5,6,7,8,9]
    l1[2] = "小明"
    print(l1)        # [1, 2, '小明', 4, 5, 6, 7, 8, 9]

    (2). 按照切片改值(迭代着增加)

    l1 = [1,2,3,4,5,6,7,8,9]
    l1[3:1] = "小明abc"
    print(l1)        # [1, 2, 3, '小', '明', 'a', 'b', 'c', 4, 5, 6, 7, 8, 9]

    (3). 按照切片(布长)改值(必须一一对应(列表长度-1/相隔长度))

    l1 = [1,2,3,4,5,6,7,8,9]
    l1[::3]="mou"
    print(l1)        # ['m', 2, 3, 'o', 5, 6, 'u', 8, 9]

    列表的二分查找:

    需要查找的列表一定要是'升序'或者'倒序'

    def binarysearch(l1,num):       # 创建函数,传入参数(列表,数值)
        start_index = 0             # 列表的起始索引
        end_index = len(l1) - 1     # 列表的最终索引
        while start_index < len(l1):    # 设置循环一直运行,直到两者相等
            mid_index = (start_index + end_index) // 2      # 第一次需要查找的索引(防止数值溢出).
            if l1[mid_index] == num :       # 如果两者相等,则返回当前索引
                return mid_index
            elif l1[mid_index] > num :      # 如果列表中查找的元素大于需要查找的目标,最终索引-1
                end_index = mid_index - 1
            else :                          # 如果列表中查找的元素小于需要查找的目标,起始索引+1
                start_index = mid_index + 1
        return None                         # 默认返回 无(None)
    l1 = [1,2,3,4,5,6,7,8,9,10,11,12,13]
    re = binarysearch(l1,4)
    print(re)
  • 相关阅读:
    Linux巩固记录(2) java项目的编译和执行
    Nexus私服搭建使用及发布jar包到私服上供团队其他成员使用
    多个SpringMVC项目配置统一管理(来自于springCloud的统一配置思路)
    统一接口设计及日志管理
    分布式锁实现思路及开源项目集成到springmvc并使用
    SpringBoot 入门教程:集成mybatis,redis
    【分享】标准springMVC+mybatis项目maven搭建最精简教程
    dubbox微服务实例及引发的“血案”
    密码加盐加密与存储使用
    kafka配置与使用实例
  • 原文地址:https://www.cnblogs.com/mamouren/p/13268209.html
Copyright © 2011-2022 走看看