【问题标题】:How to covert this list of strings into integers如何将此字符串列表转换为整数
【发布时间】:2021-09-10 09:43:35
【问题描述】:

我有一个包含字符串列表的列表,我有兴趣将此列表转换为 int。如何做到这一点。

k2=["'95', '66', '137', '70', '20'", "'36', '66', '44', '214', '105', '133'"]
    k3=[]
    for i in range(len(k2)):
      k3[i]=int(k2[i])

【问题讨论】:

    标签: python string list integer


    【解决方案1】:

    遍历列表中的每个项目,然后将它们拆分为,,并去掉前面和后面的引号' 和空格

    result = []
    for v in k2:
        result += [int(i.strip("' ")) for i in v.split(',')]
    
    #output:
    [95, 66, 137, 70, 20, 36, 66, 44, 214, 105, 133]
    

    【讨论】:

    • i.strip("' "))。不需要额外的括号
    • r'\D(\d+)\D,你也可以用这个
    【解决方案2】:

    这可以通过一个列表理解来完成。

    In [28]: k3 = [int(string.strip(" '")) for k in k2 for string in k.split(',')]
    
    Out[29]: [95, 66, 137, 70, 20, 36, 66, 44, 214, 105, 133]
    

    【讨论】:

      【解决方案3】:

      如果您必须获取列表列表。遍历, 上的列表拆分并找到整数,您可以将结果附加到相同的索引处。

      for i,va in enumerate(k3):
          k3[i] = ([int(re.findall(r'\d+', val)[0]) for val in va.split(',')])
      # output[[95, 66, 137, 70, 20], [36, 66, 44, 214, 105, 133]]
      

      【讨论】:

        【解决方案4】:

        对于更通用的情况,您可以使用regular expression

        import re
        
        out = []
        
        k3=["'95', '66', '137', '70', '20'", "'36', '66', '44', '214', '105', '133'"]
        
        for i in k3:
            result = re.findall(r'\D(\d+)\D', i)
            out.extend(result)
            
        print(out)
        
        ['95', '66', '137', '70', '20', '36', '66', '44', '214', '105', '133']
        

        正则表达式解释:

        https://regex101.com/r/2rhNJl/1

        【讨论】:

          【解决方案5】:

          一个班轮解决方案:

          k3 = [int(i) for i in ','.join([_k2.replace("'", "").replace(" ", "") for _k2 in k2]).strip().split(',')]
          

          【讨论】:

            猜你喜欢
            • 2021-11-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-01-14
            • 2021-06-18
            • 2022-12-18
            • 2014-07-19
            • 1970-01-01
            相关资源
            最近更新 更多