切片列表

时间:2014-05-20 09:06:47

标签: python string list rss slice

我能够切割字符串列表吗?如果有可能请任何人告诉我如何做到这一点,以便我能够打印出一个特定的字符串而不是组成列表的五个字符串。 欢呼声。

eg.
mylist = ['apples' 'oranges' 'lemons' 'cucumbers' 'bananas']
print 'orange'

**我使用的编程语言是python。每当我编码mylist [2]时,它就会出错。我正在使用的列表是从html rss提取中提取字符串。每个字符串都是一个新的新闻标题。但是,即使它不断更新,列表中总会有5个字符串,它告诉我列表索引超出范围。但是,如果我只是打印整个列表,它可以正常工作**

#URLS for RSS Feeds

url_national = 'http://feeds.news.com.au/public/rss/2.0/news_national_3354.xml'
url_sport = 'http://feeds.news.com.au/public/rss/2.0/news_sport_3168.xml'
url_world = 'http://feeds.news.com.au/public/rss/2.0/news_theworld_3356.xml'
url_technology = 'http://feeds.news.com.au/public/rss/2.0/news_tech_506.xml'

def headlines (url):
    web_page = urlopen(url)
    html_code = web_page.read()
    web_page.close()
    return findall(r'<item><title>([^<]*)</title>', html_code)

#headlines list
list_national = [headlines(url_national)]
list_sport = [headlines(url_sport)]
list_world = [headlines(url_world)]
list_technology = [headlines(url_technology)]



def change_category():
    if label_colour.get() == 'n':
        changeable_label['text'] = list_national #here I would slice it but it doesn't work
    elif label_colour.get() == 's':
        changeable_label['text'] = list_sport
    elif label_colour.get() =='w':
        changeable_label['text'] = list_world
    else:
        changeable_label['text'] = list_technology

我需要将其切割成单个标题的原因是当按下单选按钮用于我的GUI时,它将它们打印在标签上的编号列表中并不是所有只是在它们旁边的一行上运行 - 抱歉我希望这样做感

3 个答案:

答案 0 :(得分:0)

你在这里使用什么语言?通常,您可以使用索引来访问列表中的特定条目。例如:

print myList[1]

答案 1 :(得分:0)

列表创建中缺少逗号。你必须这样做:

 mylist = ['apples', 'oranges', 'lemons', 'cucumbers', 'bananas']

您将能够使用您的列表

mylist[0] # 'apples'
mylist[-1] # 'bananas'
mylist[2] # 'lemons'

答案 2 :(得分:0)

我认为你得到的错误是这样的:

mylist = ['apples' 'oranges' 'lemons' 'cucumbers' 'bananas']
print mylist[5]
IndexError: list index out of range

原因是列表中的元素是从0而不是1建立的。 mylist5个元素,从04。因此,当您致电print mylist[5]时,肯定会出错,因为列表中没有6th元素。

Here是关于列表的官方文档,请看一下。 我希望它有用!