【发布时间】:2014-03-05 18:56:13
【问题描述】:
如何清理以下代码并使其看起来更好?
我想知道是否有一种方法可以将所有这些变量和值设置为更简单、更短的版本。这样做的例子是什么? :-)
import feedparser
import memcache
import sys
mc = memcache.Client(["127.0.0.1:11211"])
rss = feedparser.parse('http://example.com/example.rss')
song0 = rss.entries[0].title.encode('latin-1', 'replace').replace("?" , "-")
song1 = rss.entries[1].title.encode('latin-1', 'replace').replace("?" , "-")
song2 = rss.entries[2].title.encode('latin-1', 'replace').replace("?" , "-")
song3 = rss.entries[3].title.encode('latin-1', 'replace').replace("?" , "-")
song4 = rss.entries[4].title.encode('latin-1', 'replace').replace("?" , "-")
song5 = rss.entries[5].title.encode('latin-1', 'replace').replace("?" , "-")
song6 = rss.entries[6].title.encode('latin-1', 'replace').replace("?" , "-")
song7 = rss.entries[7].title.encode('latin-1', 'replace').replace("?" , "-")
song8 = rss.entries[8].title.encode('latin-1', 'replace').replace("?" , "-")
song9 = rss.entries[9].title.encode('latin-1', 'replace').replace("?" , "-")
mc.set("track0", song0);
mc.set("track1", song1);
mc.set("track2", song2);
mc.set("track3", song3);
mc.set("track4", song4);
mc.set("track5", song5);
mc.set("track6", song6);
mc.set("track7", song7);
mc.set("track8", song8);
mc.set("track9", song9);
【问题讨论】:
-
这不是一个真正值得提问的问题,所以如果它被关闭也不要太惊讶。但是,rss 必须是可迭代的,因此对于可迭代的项目:do_something 它可以通过列表理解在一行中完成
-
我主要找的但失败的是函数列表。