我有一个这样的列表列表:table_data = [['vlan1', '0013.F200.0058', '192.168.2.2'], ['vlan100', '0013.F200.0058', '192.168.110.2'], ['vlan50', '0013.F200.0058', '192.168.30.2'], ['vlan20', '0010.600a.7026', '192.168.30.4'], ['vlan2', '70ca.9b99.6a82', '192.168.30.1']] 我想按VLAN号对它进行排序,该怎么办?所以vlan1列表,然后vlan2列表等我尝试过将数字分开,但是我不确定该怎么做,我认为这不是正确的方法。for i in table_data: if i[0].startswith('vlan'): vlan_number = i[0][4:]我可以用一个列表来做到这一点,就像这样:sorted(table_data, key = lambda x: int(x.split("n")[1]))但是如何将其扩展到列表列表呢?
1 回答

有只小跳蛙
TA贡献1824条经验 获得超8个赞
尝试这个:
sorted(table_data, key=lambda x: int(x[0][4:]))
在基于原始排序的解决方案中,应修改lambda函数。x [0]表示每一行的第一列。x [0] [4:]将跳过前4个字符,即“ vlan”。
添加回答
举报
0/150
提交
取消