Python 将数字字符串列表转换为数字列表

Python 将数字字符串列表转换为数字列表,python,string,Python,String,我有一个包含以下值的大型txt文件(前5个): 如何将此字符串列表转换为数字列表(表示删除“$”和“,”) 不是最优雅的,但是: s = "$42,198.98 $1,305.04 $1,821.91 $105,747.79 $100,931.55" f = [float(x) for x in s.replace("$",'').replace(',','').split()] print(f) # [42198.98, 1305.04, 1821.91, 105747.79, 100

我有一个包含以下值的大型txt文件(前5个):

如何将此字符串列表转换为数字列表(表示删除“$”和“,”)


不是最优雅的,但是:

s = "$42,198.98 $1,305.04 $1,821.91 $105,747.79 $100,931.55"
f = [float(x) for x in s.replace("$",'').replace(',','').split()]

print(f)    # [42198.98, 1305.04, 1821.91, 105747.79, 100931.55]
这个想法:

  • 以行为单位,将美元符号和逗号全部替换为零(从字符串中删除)
  • 调用字符串的
    .split()
    方法,默认情况下,该方法在空格上拆分
  • 使用列表理解将该字符串列表转换为浮点数

    • 不是最优雅的,但是:

      s = "$42,198.98 $1,305.04 $1,821.91 $105,747.79 $100,931.55"
      f = [float(x) for x in s.replace("$",'').replace(',','').split()]
      
      print(f)    # [42198.98, 1305.04, 1821.91, 105747.79, 100931.55]
      
      这个想法:

      • 以行为单位,将美元符号和逗号全部替换为零(从字符串中删除)
      • 调用字符串的
        .split()
        方法,默认情况下,该方法在空格上拆分
      • 使用列表理解将该字符串列表转换为浮点数

      您希望文件中的每一行都有一个单独的列表(即列表列表),还是一个浮动列表中的所有内容?不,只有一个大列表,文件中的每一行都采用以下格式:$000000.00。然后我需要计算整个文件的平均值。文件很大(几百万行)。您希望文件中的每一行都有一个单独的列表(即列表列表),还是一个浮动列表中的所有内容?不,只有一个大列表,文件中的每一行都采用以下格式:$000000.00。然后我需要计算整个文件的平均值。文件很大(几百万行)
      s = "$42,198.98 $1,305.04 $1,821.91 $105,747.79 $100,931.55"
      f = [float(x) for x in s.replace("$",'').replace(',','').split()]
      
      print(f)    # [42198.98, 1305.04, 1821.91, 105747.79, 100931.55]