切片python字符串

时间:2014-05-31 20:22:53

标签: python string list slice

我有一个清单:

rows=['1\t0.00032822\n', '2\t0.00029311\n', '3\t0.0002048\n',...] 

我想要一个仅包含数字的列表:

['0.00032822', '0.00029311', '0.0002048',...]. 

类似的东西:

list = [sliceAppropiate(x) for x in rows]

2 个答案:

答案 0 :(得分:4)

使用list comprehension

>>> rows = ['1\t0.00032822\n', '2\t0.00029311\n', '3\t0.0002048\n'] 
>>> [r.split()[1] for r in rows]
['0.00032822', '0.00029311', '0.0002048']

这是做什么的:

  • 依次浏览rows中的每个项目
  • 将其命名为r
  • 将每个r拆分为一个包含split()的列表,方法是切换空格(可以是空格,制表符或换行符),
  • 从该列表中取项目1(其中第0项是第一项,因为Python使用zero-based indexing)。

答案 1 :(得分:0)

这是一个非常简单的代码,可以帮到你:

list = []
for i in range(len(rows)): # from 0 to len(rows) - 1
    list[i] = rows[i].split('\t')[1]

如果需要浮点数,请使用浮点函数:

float(rows[i].split('\t')[1])