为了账号安全,请及时绑定邮箱和手机立即绑定

在第一个元素的字符串末尾按数字后缀对列表列表进行排序

在第一个元素的字符串末尾按数字后缀对列表列表进行排序

拉丁的传说 2021-03-28 17:17:08
我有一个这样的列表列表: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”。


查看完整回答
反对 回复 2021-04-01
  • 1 回答
  • 0 关注
  • 200 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号