>我正在寻找带有元组对的列表中最长的字符串。但仅限于所有元组的第一个元素。
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'