Python 将字符串转换为整数,然后在带有字符串的列表中对其排序

Python 将字符串转换为整数,然后在带有字符串的列表中对其排序,python,Python,我有下面的列表,我需要从最大到最小的名字和数字排序 ['joe: 5', 'ed: 9', 'joe: 7', 'ed: 8'] 我有以下问题: 将数字从字符串转换为整数进行排序 使用正确的字符串对它们进行排序 因此,我的最终结果应该是: ['ed: 9', 'ed: 8', 'joe: 7', 'joe: 5'] 您可以使用str.split(如下所示)获取每个列表项中的整数,然后使用该整数对列表进行排序: >>> int(lis[0].split(":"

我有下面的列表,我需要从最大到最小的名字和数字排序

['joe:  5', 'ed:  9', 'joe:  7', 'ed:  8']
我有以下问题:

  • 将数字从字符串转换为整数进行排序
  • 使用正确的字符串对它们进行排序
  • 因此,我的最终结果应该是:

    ['ed:  9', 'ed:  8', 'joe:  7', 'joe:  5']
    
    您可以使用
    str.split
    (如下所示)获取每个列表项中的整数,然后使用该整数对列表进行排序:

    >>> int(lis[0].split(":")[1])
    >>> 5
    
    #or  
    
    >>> int(lis[0].split()[1]) 
    >>> 5
    
    您可以使用
    str.split
    (如下所示)获取每个列表项中的整数,然后使用该整数对列表进行排序:

    >>> int(lis[0].split(":")[1])
    >>> 5
    
    #or  
    
    >>> int(lis[0].split()[1]) 
    >>> 5
    

    拜托,你试过什么?字典对这种情况有用吗
    my_var={'joe':[5,7],'ed':[8,9]}
    。但是,您不能有两个名称完全相同的键,所以我将它们作为列表。拜托,您尝试了什么?字典对这种情况更有用吗
    my_var={'joe':[5,7],'ed':[8,9]}
    。然而,你不能有两个名字完全相同的键,所以我把它们列为列表。不起作用,它一直在说:,谢谢。在[43]:lis=['joe:5','ed:9','joe:7','ed:8']之后说语法错误:@user1903357
    在[43]:
    不是代码的一部分,它来自
    IPython shell
    。请看,我已经更新了解决方案。不起作用,它一直在说:,谢谢。在[43]:lis=['joe:5','ed:9','joe:7','ed:8']中说:@user1903357
    在[43]中出现语法错误:
    不是代码的一部分,它来自
    IPython shell
    。看,我已经更新了解决方案。