美文网首页
Python列表解析与输入列表

Python列表解析与输入列表

作者: ltoddy | 来源:发表于2017-03-01 16:05 被阅读0次

    在静态语言中比如C语言,定义一个数组可以是:

    int arr[100];
    

    这个数组是给定长度的。
    在Python中:

    lst = [0] * 100
    

    这个样子就创建了一个含有100个元素(都是0)的列表。

    列表解析:
    Python提供了更方便的创建列表的方法:

    lst = [x for x in range(5)]
    # output:[0, 1, 2, 3, 4]
    lst = [x * 0.5 for x in range(5)]
    # output:[0.0, 0.5, 1.0, 1.5, 2.0]
    lst = [x for x in range(5) if x < 3]
    # output:[0, 1, 2]
    

    如果列表的数据来自于输入,由于python提供的input()函数是行输入,所有可以是:

    lst = []
    print("Enter 10 numbers")
    for i in range(10):
        lst.append(eval(input()))
    

    但是这个样子,输入是个数字就需要输入十行,每个数据占一行。
    但是有时候,数据是一行输入以空格分割的。
    在C语言中:

    int arr[10];
    for (int i = 0; i < 10; ++i) {
        scanf("%d" , arr + i);
    }
    

    在Python中:

    # 通过列表解析
    s = input()
    items = s.split(" ")
    lst = [eval(x) for x in items]
    # 简化之后:
    lst = [eval(x) for x in input().split()]
    

    多维列表:
    创建多维列表:

    row = 2
    column = 3
    matrix = [[0] * column] * row
    # output
    # [0, 0, 0]
    # [0, 0, 0]
    

    输入列表

    matrix = []
    row = eval(input())
    for i in range(row):
        matrix.append([eval(x) for x in input().split())])
    # 输入时,元素之间用空格间隔
    

    相关文章

      网友评论

          本文标题:Python列表解析与输入列表

          本文链接:https://www.haomeiwen.com/subject/ibxcgttx.html