【问题标题】:How to print two numbers from the same list in Python 2.7如何在 Python 2.7 中从同一个列表中打印两个数字
【发布时间】:2018-05-12 09:00:51
【问题描述】:

因此,我被指派为列表中的技能开发制作一个简短的程序。 代码如下:

x=[21,23,25,27]
y=[5,6,7,8]
z=x+y
print (z)
z[0]=45
print (z)
a=[x+y]
print a
print (a[1][2])

我们被要求做的是猜测代码会打印什么。但是最后一行不起作用,我总是得到错误。那行是直接从给定的练习中给出的。显示 [1] 和[2] 元素是在 for i in range 命令中执行此操作我正确吗?我尝试了其他不起作用的语法,我相信这是唯一的方法。

【问题讨论】:

  • 很久以前,但是'for a, b in izip(x, y):',这里可能值得一看

标签: python short


【解决方案1】:

a=[x+y],这里+ 将创建一个新列表并将其添加到另一个列表中,以便创建具有两个内部列表的二维列表,使用, 作为分隔符,而+ 作为连接操作所以使用,作为

a=[x,y]

要使用带有新列表的单索引打印具有相同索引的元素,我们可以创建一个二维列表,将相同的索引值保持在一起

x=[21,23,25,27]
y=[5,6,7,8]
z=x+y
print (z)
z[0]=45
print (z)
a = [[i,j] for i,j in zip(x,y)]
# i is element in x and j is element in y
# [i,j] a new list with elements i and j
print(a)
#a=[x,y]
print (a[0]) # [21,5]

【讨论】:

  • 我想显示列表的第一个和第二个元素。最后一行不正确。如何打印这些元素?只需使用 print a[1] print a[2]?跨度>
  • 你可以做的是结合两个列表来创建具有相同索引元素的二维数组
【解决方案2】:

你可以像你说的那样使用 for 语句。但还有另一种方式。你可以试试这个:

print(a[:3])

上面的代码基本上会打印a中从start到2,即3之前的元素。

【讨论】:

    【解决方案3】:

    错误归结为索引a[1]

    示例:

    x=[21,23,25,27]
    y=[5,6,7,8]
    z=x+y
    print (z)
    z[0]=45
    print (z)
    # a = list of lists, where x+y is the first and only list [[x+y],...]
    a=[x+y]
    print(a)
    # print [x+y]
    print (a[0])
    # a[1][2] here 1 was out of bounds
    # a[0][2] the third member of list [0], i.e. [x+y]
    print (a[0][2])
    # list of lists, with two memmbers [x, y]
    a = [z,y]
    print(a)
    # first member of x
    print(a[0][0])
    # print first member of y
    print(a[1][0])
    

    输出:

    # print (z)
    [21, 23, 25, 27, 5, 6, 7, 8]
    # print(z)
    [45, 23, 25, 27, 5, 6, 7, 8]
    # print(a)
    [[21, 23, 25, 27, 5, 6, 7, 8]]
    # print(a[0])
    [21, 23, 25, 27, 5, 6, 7, 8]
    # print(a[0][2])
    25
    # print([z,y])
    [[45, 23, 25, 27, 5, 6, 7, 8], [5, 6, 7, 8]]
    # print a[0][0]
    45
    # print a[1][0]
    5
    

    【讨论】:

      【解决方案4】:

      您收到的问题或您在这里写的问题有误,因为 a 没有索引 1。

      a 中有一个元素,它是一个列表。该列表与 z 相同

      z = x+y
      

      创建一个包含所有 x 和 y 元素的新列表

      a = [x+y]
      

      a 与 [z] 列表中的 z 列表相同

      a里面只有a[0],它是x+y的列表

      你可以有一个 [0][2] 是 25

      但是没有a[1]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-07
        • 1970-01-01
        • 1970-01-01
        • 2023-01-18
        • 1970-01-01
        • 1970-01-01
        • 2020-02-12
        • 2016-09-03
        相关资源
        最近更新 更多