Jython中按长度排序的URL列表

Jython中按长度排序的URL列表,url,list,sorting,jython,Url,List,Sorting,Jython,我正在编写一个Jython脚本来对URL列表进行排序 我有一个如下列表: 管道和逗号将路径与该路径下的文件量分隔开。 是否有可能使用Jython按长度对URL排序,使其看起来像下面的列表: 希望你们明白我的意思,任何帮助都将不胜感激。干杯对它们进行排序不会解决这个问题吗?对它们进行排序不会解决这个问题吗?使用排序功能按长度排序: urls.sort(lambda a, b: cmp(len(a), len(b))) 为了提高性能,有些人可能更喜欢装饰排序非装饰模式:

我正在编写一个Jython脚本来对URL列表进行排序

我有一个如下列表:








管道和逗号将路径与该路径下的文件量分隔开。 是否有可能使用Jython按长度对URL排序,使其看起来像下面的列表:









希望你们明白我的意思,任何帮助都将不胜感激。干杯

对它们进行排序不会解决这个问题吗?

对它们进行排序不会解决这个问题吗?

使用排序功能按长度排序:

urls.sort(lambda a, b: cmp(len(a), len(b)))
为了提高性能,有些人可能更喜欢装饰排序非装饰模式:

urllengths= [(len(url), url) for url in urls]
urllengths.sort()
urls= [url for (l, url) in urllengths]
或作为一个班轮:

urls= zip(*sorted((len(url), url) for url in urls))[1]

使用排序函数按长度排序:

urls.sort(lambda a, b: cmp(len(a), len(b)))
为了提高性能,有些人可能更喜欢装饰排序非装饰模式:

urllengths= [(len(url), url) for url in urls]
urllengths.sort()
urls= [url for (l, url) in urllengths]
或作为一个班轮:

urls= zip(*sorted((len(url), url) for url in urls))[1]

在jython赶上Python2.4之前,您不能将key参数用于list.sort():

所以,就像过去的好日子一样,我们有这个成语。要按项目长度对
mylist
进行排序,我们将生成
(len(item),item)
元组的
装饰列表,对其进行排序,最后将项目剥离回来:

decorated_list = zip(map(len, mylist), mylist)
decorated_list.sort()
sorted_list = [i[1] for i in decorated_list]

在jython赶上Python2.4之前,您不能将key参数用于list.sort():

所以,就像过去的好日子一样,我们有这个成语。要按项目长度对
mylist
进行排序,我们将生成
(len(item),item)
元组的
装饰列表,对其进行排序,最后将项目剥离回来:

decorated_list = zip(map(len, mylist), mylist)
decorated_list.sort()
sorted_list = [i[1] for i in decorated_list]

英语词典已排序,但在所有两个字母的单词之前没有得到所有一个字母的单词。英语词典已排序,但在所有两个字母的单词之前没有得到所有一个字母的单词。Python支持
sort()
参数
sort()
,因此您可以只使用:
url.sort(key=len)
。仅在jython-2.5不在2.2系列上时支持jython支持
sort()
key
参数,因此您可以只使用:
url.sort(key=len)
。仅在jython-2.5不在2.2系列上支持,因为我将使用对称:
sorted\u list=map(operator.itemgetter(1),definated\u list)
而不是
sorted_list=[i[1]for i in decordented_list]
或(用于对称):decordented_list=zip([len(i)for i in mylist],mylist)(Jython 2.2)Jython 2.2没有运算符.itemgetter()。对于对称性,我将使用:
sorted_list=map(operator.itemgetter(1),decordented_list)
而不是
sorted_list=[i[1]对于修饰列表中的i]
或(对于对称性):修饰列表=zip([len(i)表示mylist中的i],mylist)(Jython 2.2)Jython 2.2没有运算符.itemgetter()。