Input 列表理解-多输入
我是一个初学者,试图了解多输入列表理解是如何工作的。 有人能解释一下下面的代码是如何工作的吗 x、 y=[int(x)表示输入中的x(“输入值”).split()] 打印(x,y)Input 列表理解-多输入,input,Input,我是一个初学者,试图了解多输入列表理解是如何工作的。 有人能解释一下下面的代码是如何工作的吗 x、 y=[int(x)表示输入中的x(“输入值”).split()] 打印(x,y) 提前谢谢 这实际上与列表理解没有直接关系,而是一个称为“序列解包”的概念,它适用于任何(列表,元组,范围)。这里发生的是,用户输入应该是两个空格分隔的值。split调用将在空白处分割用户输入,返回大小为2的列表。然后,列表理解在这个split生成的列表的每个元素上循环,并将每个元素转换为int。因此,列表理解将返回长
提前谢谢 这实际上与列表理解没有直接关系,而是一个称为“序列解包”的概念,它适用于任何(
列表
,元组
,范围
)。这里发生的是,用户输入应该是两个空格分隔的值。split
调用将在空白处分割用户输入,返回大小为2的列表。然后,列表理解在这个split
生成的列表的每个元素上循环,并将每个元素转换为int
。因此,列表理解将返回长度为2的list
,其每个元素将分别“解包”到赋值运算符左侧的x
和y
变量中。以下是Python教程数据结构部分的摘录,解释了序列解包:
语句t=1234554321,“你好!”是元组打包的一个示例:值12345、54321和“hello!”被打包成一个元组。也可以进行反向操作:
这被称为顺序解包(sequenceunpacking)并适用于
右边的任何序列。序列解包要求
等号左侧的变量与等号左侧的变量一样多
序列中有一些元素。请注意,多重赋值是不正确的
实际上只是元组打包和序列解包的组合
请注意,这仅在用户输入的长度为2时有效,否则
序列解包将不起作用,并将导致错误
>>> x, y, z = t