Python 混乱的代码行

Python 混乱的代码行,python,Python,我试图理解一个代码,但我不确定我是否正确: left_lines = [[310, 319, 318, 406, 317, 322],[423, 425, 425, 357, 419, 414]] test = sorted([line[1] for line in left_lines])[int(len(left_lines)/2)] 这怎么只给了我一个号码?它是否试图在左行[1]中找到最小的数字 更新 参考: 更新2 我是Python新手让我们把它拆开 In [3]: [line[1]

我试图理解一个代码,但我不确定我是否正确:

left_lines = [[310, 319, 318, 406, 317, 322],[423, 425, 425, 357, 419, 414]]
test = sorted([line[1] for line in left_lines])[int(len(left_lines)/2)]
这怎么只给了我一个号码?它是否试图在
左行[1]
中找到最小的数字

更新

参考:

更新2

我是Python新手

让我们把它拆开

In [3]: [line[1] for line in left_lines]
Out[3]: [319, 425]
为您提供每个子列表中的第二个数字(您将子列表称为行)

对收到的列表进行排序

现在,
[int(len(left_行)/2)]
部分将索引放入接收列表。索引是行数除以2(并转换为整数)

所以这段代码的作用是,假设你有
x
行,将每行的第二个数字从最小到最大排序,并给出中间值

也许这是所有行中所有第二项的中间值

left_lines = [[310, 319, 318, 406, 317, 322],[423, 425, 425, 357, 419, 414]]
test = sorted([line[1] for line in left_lines])[int(len(left_lines)/2)]
左/右线 此代码是列表的列表,表示已声明嵌套列表

测试
sorted()
是一个用于排序的函数

[line[1]]
将返回
[3103193187322]、[423425425357414]的列表。

对于左行中的行
这将以顺序方式在整个列表中迭代

[int(len(左)行)/2]int(len())
将列表长度转换为int

(左行)/2
将长度除以2

[line[1] for line in left_lines]
这称为列表压缩

上述行的输出将是列表左_行的每个子列表的第二个元素(索引1)[319425]

现在,sorted是一个内置函数,它返回排序列表(您也可以使用此方法对元组进行排序)

len
是一个内置函数,用于查找字符串、元组或列表的长度。所以

int(len(left_lines)/2)=1
最后,

sorted([line[1] for line in left_lines])[int(len(left_lines)/2)]=[319,425][1]
这意味着列表的第二个元素,即425


所以test等于425。

你为什么不问问作者?你想在这里实现什么?这个代码的预期输出应该是什么?@TigerhawkT3我不知道作者是谁,就像它是所有第二个元素的中值一样。不,因为最小的数字应该是
319
。是的,我的错!对Python来说非常陌生
int(len(left_lines)/2)=1
sorted([line[1] for line in left_lines])[int(len(left_lines)/2)]=[319,425][1]