Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不使用任何内置函数的情况下提取python列表中元素的域扩展?_Python_List_Dns - Fatal编程技术网

如何在不使用任何内置函数的情况下提取python列表中元素的域扩展?

如何在不使用任何内置函数的情况下提取python列表中元素的域扩展?,python,list,dns,Python,List,Dns,我的清单是: my_list=[“www.annauniv.edu”,“www.facebook.com”] 我的预期输出应该是: Domain extension of the elements in list are: ['.edu','.com'] 我的编码: my_list=["www.annauniv.edu","www.tneaonline.org","www.facebook.com"] print(my_list) s=[] for i in my_list: s.ap

我的清单是:

my_list=[“www.annauniv.edu”,“www.facebook.com”]

我的预期输出应该是:

Domain extension of the elements in list are: ['.edu','.com']
我的编码:

my_list=["www.annauniv.edu","www.tneaonline.org","www.facebook.com"]
print(my_list)
s=[]
for i in my_list:
    s.append(i[-3:])
print(s)
有更简单的编码吗?

列表(map(lambda x:x.split(“.”[-1],我的列表))

为了获得域扩展名,您将每个字符串按
进行拆分,并使用
x.split[-1]
完成最后一个元素。然后对列表中的所有元素执行此操作

我认为这没有任何意义

my_list=["www.annauniv.edu","www.facebook.com"]

res = []
for el in my_list:
    for ind, let in enumerate(el[-1:0:-1]):
        if let == '.':
            res.append(el[-ind-1:])
            break
res
输出:

['.edu', '.com']
注意:如果域有两个字母,您的解决方案将崩溃:
.en

my_list=["www.annauniv.edu","www.tneaonline.org","www.facebook.com"]
print(my_list)
s = [i[-3:] for i in my_list]
print(s)

这将有助于:)

“a.b.c”.rsplit(“.”,1)
返回
(“a.b”,“c”)
@Jean-ClaudeArbaut Tanq。但是我需要它,不需要在程序中使用rsplit()或任何其他内置函数。你应该先尝试一些不会工作超过
.com
的东西,如果域是
示例.info
,你可以通过自己的努力,这在一般情况下是不可能做到的,无需进行DNS查询或使用公共后缀列表。仅通过查看字符串无法找到后缀
dk
是有效的域、主机和后缀。在
www.minefi.gouv.fr
中,后缀为
gouv.fr
(但未授权)。在
example.com
中,后缀是
com
,但在
example.br.com
中,后缀是
br.com
。等等。我认为迭代整个字符串不是一个好主意,可以比这个短一些,而且在www之后也有一个
。@YugandharChaudhari仔细看-我正在从头迭代
。不会迭代所有字符串哦,是的,我看到了
[-1:0:-1]
反转字符串我认为整个字符串可能比通过枚举和查找第一个
来反转获取索引,然后从索引1开始附加到结果并打破循环更易读或更简单:D和OP这里使用pythonlessons@Mikhail_Sam你给了我问题的确切解决办法。非常感谢。那么不算是内置函数吗?Tanq。我也尝试过同样的方法,但没有使用list comprehensive。但这里的问题是,假设我们在列表元素中有不同大小的域名,这意味着它将不起作用。['edu','com','in','info']。它从索引-1到“”获取单词。“。您的确切输入是什么?