在带有元组的列表中查找最长的字符串



>我正在寻找带有元组对的列表中最长的字符串。但仅限于所有元组的第一个元素。

VMT = [('T_WIN2019_04.2020', 'Microsoft Windows Server 2016 (64-bit)'), ('T_CENTOS_7.8_04.2020', 'CentOS 7 (64-bit)'), ('T_WIN2016_05.2019', 'Microsoft  Windows Server 2016 (64-bit)'), ('T_W2019_STD_EN', 'Microsoft Windows Server 2016   (64-bit)'), ('T_W2016_DTC_EN', 'Microsoft Windows Server 2016 (64-bit)')]

我用这个:

max(VMT, key=len)[0]
'T_WIN2019_04.2020'

T_WIN2019_04.2020 = 16 个字符

应该是 :

'T_CENTOS_7.8_04.2020'

T_CENTOS_7.8_04.2020 = 20 个字符

我认为计算是在整个元组上完成的,而不是元组的第一个元素。

max函数上的key应该是元组第一个元素的长度:

max(VMT, key=lambda t: len(t[0]))[0]
'T_CENTOS_7.8_04.2020'

相关内容

  • 没有找到相关文章

最新更新