• Python Chapter 10: 列表 Part1


    10.1 引言

    )Python提供一种称为列表的数据类型来存储一个有序的元素集合。Python中的列表(不像部分语言中的数组)大小可变。

    NUMBER_OF_ELEMENTS = 5
    numbers = []
    sum = 0
    
    for i in range(NUMBER_OF_ELEMENTS):
        value = eval(input("Enter a new number: "))
        numbers.append(value)
        sum += value
    
    average = sum / NUMBER_OF_ELEMENTS
    
    count = 0
    for i in range(NUMBER_OF_ELEMENTS):
        if numbers[i] > average:
            count += 1
    
    print("Average is", average)
    print("Number of elements above the average is", count)
    

    10.2 列表基础

    )创建列表

    list1 = list()
    list2 = list([2, 3, 4])
    list3 = list(range(3,6))
    list4 = list("abcd") # Create a list with characters a b c and d
    list5 = [2, "three", 4]
    

    注意,python的列表中的元素可以是不同类型,如上例list5所示

    )列表使用的操作与函数

    操作 描述 操作 描述
    x in s x在s中返回true x not in s x不在s中返回true
    s1+s2 连接两个序列 s*n 连接n个序列s
    s[i] 序列s第i个元素 s[i:j] 序列s第i个到第j-1个元素
    len(s) 序列s的长度 min/max(s) 序列s的最小最大元素
    sum(s) 序列s中所有元素之和 </>/=/!... 比较两个序列

    此外:

    import random
    random.shuffle(list1)
    

    随机排列list1中原有的元素

    )下标运算符[]

    列表下标基于0,python也允许负数下标表示相对于列表末端的位置:

    list1 = [2, 3, 5, 2, 33, 21]
    list1[-1] # 21
    

    )列表截取[start:end]

    截取出的列表片段是由原列表start到end-1下标上的元素
    起始下标和结尾下标可以忽略,在这种情况下起始为0结尾为最后一个下标:

    list1 = [2, 3, 5, 2, 33, 21]
    list1[ :2] # [2, 3]
    

    可以在截取过程中使用负数下标:

    list1 = [2, 3, 5, 2, 33, 21]
    list1[-4 : -2] # [5, 2]
    

    若start>=end,则将返回一个空列表。若end超出列表长度,Python会用列表长度代替end

    )使用for循环遍历元素

    Python支持一种在不使用下标变量的情况下顺序遍历列表的方法:

    for u in myList:
        print(u)
    

    )比较列表

    列表的比较使用的是字典顺序,首先比较前两个,其次...:

    list1 = ["green", "blue", red"]
    list2 = ["red", "blue", "green"]
    list2 > list1 # True
    list2 != list1 # True
    

    )列表解析

    一个列表解析由方括号中包含一个for字句的表达式与0个或多个if与for字句构成:

    list1 = [x for x in range(5)] # [0, 1, 2, 3, 4]
    list1 = [0.5 * x for x in list1] # [0, 0.5, 1, 1.5, 2]
    list1 = [x for x in list2 if x < 1.5] # [0, 0.5, 1]
    

    )列表方法

    如下是一些常用列表方法和他们的描述:

    方法 描述
    append(x: object): None 将元素x添加到列表末尾
    count(x: object): int 返回元素x在列表中的出现次数
    extend(l: list): None 将l中的元素追加到列表末尾
    index(x: object): int 返回元素x在列表中首次出现的下标
    insert(index: int, x: object) : None 将x插入到指定下标index处
    pop(i): object 删除指定位置元素并返回,未指定i时删除末尾元素
    remove(x: object): None 删除列表第一次出现的x
    reverse(): None 翻转列表
    sort(): None 以升序对列表元素进行排序

    )将字符串分成表

    items = "Jane John Peter Susan".split()
    

    上述例子会将字符串以" "为分割分开,形成列表["Jane", "John", "Peter", "Susan"]。同时也可以使用非空格的分隔符:

    items = "09/20/2012".split('/')
    

    会将字符串分割为列表["09", "20", "2012"]

    )输入列表

    lst = []
    print("Enter 10 numbers: ")
    for i in range(10):
        lst.append(eval(input())
    
  • 相关阅读:
    ASP.NET Core Docker部署
    Asp.net core WebApi 使用Swagger生成帮助页实例
    C#图片文字识别
    C#实现rabbitmq 延迟队列功能
    Windows下当地RabbitMQ服务的安装
    看大数据时代下的IT架构(1)业界消息队列对比
    查看sqlserver被锁的表以及如何解锁
    如何让win2008服务器显示中文无乱码
    Lucene.Net的服务器封装+APi组件 (开源)
    Oracle学习系列4
  • 原文地址:https://www.cnblogs.com/fsbblogs/p/9741601.html
Copyright © 2020-2023  润新知