如何在 Python 2.7 中从同一个列表中打印两个数字
Posted
技术标签:
【中文标题】如何在 Python 2.7 中从同一个列表中打印两个数字【英文标题】:How to print two numbers from the same list in 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):',这里可能值得一看 【参考方案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]
【讨论】:
以上是关于如何在 Python 2.7 中从同一个列表中打印两个数字的主要内容,如果未能解决你的问题,请参考以下文章
如何在python中从pyserialtransfer的数字列表中重建结构。