2017-10-12 426 views
0

我想从它的[0:10]字符的句子列表中切出每个句子。句子的列表Python:在句子列表中切片每个句子

例如:列表名称= sd_list

[ '我出生在德里的长大。',

'我使用的戴尔Latitude E5140笔记本电脑自2012年',

“我在ABC公司工作,因为2014年”]

我试图通过运行下面的代码,每个句子的前10个字符切片和失败。

sent10 = [s[0:10] for s in sd_list] 

通过运行这个我遇到了以下类型错误


类型错误回溯(最近通话最后一个) 在() ----> 1 [S [0:10]为S IN sd_list]

在(0.0)

----> 1 [S [0:10]在sd_list秒]

类型错误: '浮动' 对象未标化的


- >我甚至尝试定义一个函数:

def sent_slice(text): 

    for s in range(0,len(text)): 

     text[s] = text[s][0:10] 

    return text 

sent_slice(sd_list) 

类型错误回溯(最近通话最后一个) 在() ----> 1个sent_slice(sd_list)

在sent_slice(文本) 1闪避sent_slice(文本): 2为在范围S(0,LEN(文本)): ---- > 3文本[S] =文本[S] [0:10] 4回文本

类型错误: '浮动' 对象未标化的


有人能帮助我理解这个“类型错误:“浮动'对象不是可以下载的“。我怎样才能实现切分句的目标?

+0

你能告诉我们到底是什么在sd_list? –

+1

你的第一次尝试是正确的。你能打印和看看存储在sd_list变量中的内容吗? – user1190882

+0

还有更多。请发布完整的确切代码。 –

回答

1

这意味着您的中有一个float。你可以通过做类似的事情找到它:

print([f for f in sd_list if isinstance(f, float)]) 
+1

它能够解决列表中导致问题的空白/纳尔记录。谢谢 –

+0

你明白了,很高兴它解决了。 – acushner