从列表中的句子中删除单个字母词

我有以下清单:

ip= ['a boy called me z there', 'what u doing b over there ', "come w me t the end']

我想从列表中的每个字符串中删除所有单个字母。

我已经尝试了以下方法,但是它不起作用:

x = [[w for w in c if (len(w)>1)] for c in ip]

I want to convert my ip such that I get the following output op:

op= ['boy called me there', 'what doing over there ', "come me the end']
评论
  • 圣杰
    圣杰 回复

    当通过c迭代ip时,c变成了一个字符(例如,'a',','b,'o','y','',...)

    因此,请尝试将每个句子按空格分开并计算长度。

    示例代码在这里。

    op = [' '.join([w for w in c.split(' ') if len(w) >= 2]) for c in ip]
    

  • [妄]
    [妄] 回复

    尝试

    p=ip.split()
    op=[]
    for i in p:
        if(len(i)==1 ):
            op.append(i)