我正在试图理解一个我不确定是否正确的代码:
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)]
怎么只给我一个号码?它是否试图在left_lines[1]
中找到最小的数字?你知道吗
更新
引用:http://sdc.autojazari.com/lane-detection/
更新2
我对Python不熟悉
我们把它拆开。你知道吗
给出每个子列表中的第二个数字(将子列表称为行)
对接收到的列表进行排序。你知道吗
现在
[int(len(left_lines)/2)]
部分将索引放入接收到的列表。索引是行数除以2(并转换为整数)。你知道吗因此,如果您有
x
行,这段代码所做的就是将每行中的第二个数字从最小到最大排序,并给出中间值。你知道吗也许这是所有行中所有第二项的中位数。你知道吗
这称为列表压缩。你知道吗
上述行的输出将是列表左行的每个子列表的第二个元素(索引1)[319425]。你知道吗
现在sorted是一个内置函数,它返回排序列表(您也可以使用此方法对元组进行排序)。你知道吗
len
是一个内置函数,用于查找字符串、元组或列表的长度。所以呢最后
这意味着列表的第二个元素,即425。你知道吗
所以test等于425。你知道吗
左\u线
这段代码是一个列表列表,意味着您已经声明了嵌套列表。你知道吗
试验
sorted()
是一个用于排序的函数。你知道吗[line[1]]
将返回[310, 319, 318, 406, 317, 322],[423, 425, 425, 357, 419, 414]
的列表for line in left_lines
这将按顺序遍历整个列表[int(len(left_lines)/2)] int(len())
将列表长度转换为int(left_lines)/2
将长度除以2相关问题 更多 >
编程相关推荐