根据行中间的数据排序行(在python中)

d-c*_*d-c 2 python sorting

我有一个域名列表,我想根据tld对它们进行排序.最快的方法是什么?

Amb*_*ber 5

使用key参数来.sort()提供可以检索要排序的正确数据的函数.

import urlparse

def get_tld_from_domain(domain)
    return urlparse.urlparse(domain).netloc.split('.')[-1]

list_of_domains.sort(key=get_tld_from_domain)

# or if you want to make a new list, instead of sorting the old one
sorted_list_of_domains = sorted(list_of_domains, key=get_tld_from_domain)
Run Code Online (Sandbox Code Playgroud)

如果您愿意,则无​​法单独定义函数,而只是使用lambda函数,但单独定义它通常可以使代码更容易阅读,这总是一个优点.