如何在python列表中的某些内容后获取项目?

时间:2016-03-09 00:27:18

标签: python list

我使用textblob来解析英文文本。这是一个单词列表。

['Get', 'coffee', 'and', 'water', 'here']
  1. 我想在名为list1的新列表中获取“Get”项后的所有单词。

  2. 我希望在名为list2的新列表中获取“获取”和“此处”之间的所有单词。

  3. 最好的方法是什么?是否有任何预先构建的功能,因为我想保持我的脚本清洁和简单。 任何建议都将受到高度赞赏。

    我尝试使用这些功能,但它们无效,返回任何空列表。

    def find_between( s, first, last ):
        try:
            start = s.index( first ) + len( first )
            end = s.index( last, start )
            return s[start:end]
        except ValueError:
            return ""
    
    def find_between_r( s, first, last ):
        try:
            start = s.rindex( first ) + len( first )
            end = s.rindex( last, start )
            return s[start:end]
        except ValueError:
            return ""
    

2 个答案:

答案 0 :(得分:2)

您可以通过查找单词的索引并使用切片来完成此操作:

def polDict(s1):
    infile=open(s1,'r')
    content=infile.read()
    counters={}
    party='1234'
    party_names = {1:'Independent', 2:'Republican', 3:'Democrat', 4:'Not known'}
    wordList = content.split()
    for i in wordList:
        if i in party:
            if i in counters:
                counters[i]+=1
            else:
                counters[i]=1
    for i in counters:              
        print('{:2} {}'.format(party_names[i], counters[i]))

答案 1 :(得分:0)

如果l = ['获取','咖啡','和','水','这里']

然后你必须做以下事情:

Animated