Python 将URL列表拆分为单独的列表
我正在尝试根据名称将URL列表分成不同的列表。我有以下网址:Python 将URL列表拆分为单独的列表,python,python-3.x,url,Python,Python 3.x,Url,我正在尝试根据名称将URL列表分成不同的列表。我有以下网址: ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130','www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130','www.example.com/name2/0900','www.example.com/n
['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130','www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130','www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
我试图根据name变量将它们分开。这是我想要的输出:
['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130']
['www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130']
['www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
我找到了这个答案,但它没有以我需要的方式输出,我也不知道如何输出。任何帮助都将不胜感激。您需要先创建一个变量,如
示例=['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130']
您需要先创建一个变量,如示例=['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130']
您可以通过迭代它们并使用简单条件进行检查来尝试:
al=['www.example.com/name/0900'、'www.example.com/name/1000'、'www.example.com/name/1130'、'www.example.com/name1/0900'、'www.example.com/name1/1000'、'www.example.com/name2/0900'、'www.example.com/name2/1000'、'www.example.com/name2/1130']
名称=[如果名称中的“name/”为al中的名称,则名称为]
name1=[如果name1中的'name1/'为al中name1的name1]
name2=[如果name2中的'name2/'为al中name2的name2]
因此,当您打印它时,您将得到:
打印(名称)
['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130']
>>>打印(名称1)
['www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130']
>>>打印(名称2)
['www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
您可以通过迭代它们并使用简单条件进行检查来尝试:
al=['www.example.com/name/0900'、'www.example.com/name/1000'、'www.example.com/name/1130'、'www.example.com/name1/0900'、'www.example.com/name1/1000'、'www.example.com/name2/0900'、'www.example.com/name2/1000'、'www.example.com/name2/1130']
名称=[如果名称中的“name/”为al中的名称,则名称为]
name1=[如果name1中的'name1/'为al中name1的name1]
name2=[如果name2中的'name2/'为al中name2的name2]
因此,当您打印它时,您将得到:
打印(名称)
['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130']
>>>打印(名称1)
['www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130']
>>>打印(名称2)
['www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
这是一种使用
str.split
并存储在dict
Ex:
data = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130','www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130','www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
result = {}
for url in data:
result.setdefault(url.split("/")[1], []).append(url)
print(result)
{'name': ['www.example.com/name/0900',
'www.example.com/name/1000',
'www.example.com/name/1130'],
'name1': ['www.example.com/name1/0900',
'www.example.com/name1/1000',
'www.example.com/name1/1130'],
'name2': ['www.example.com/name2/0900',
'www.example.com/name2/1000',
'www.example.com/name2/1130']}
import re
a = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130',
'www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130',
'www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
b = sorted(a,key=lambda c:c.split('/')[-2])
d = len(re.findall('name/',''.join(b)))
e = [b[x:x+d] for x in range(0,len(b),d)]
print(e)
输出:
data = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130','www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130','www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
result = {}
for url in data:
result.setdefault(url.split("/")[1], []).append(url)
print(result)
{'name': ['www.example.com/name/0900',
'www.example.com/name/1000',
'www.example.com/name/1130'],
'name1': ['www.example.com/name1/0900',
'www.example.com/name1/1000',
'www.example.com/name1/1130'],
'name2': ['www.example.com/name2/0900',
'www.example.com/name2/1000',
'www.example.com/name2/1130']}
import re
a = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130',
'www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130',
'www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
b = sorted(a,key=lambda c:c.split('/')[-2])
d = len(re.findall('name/',''.join(b)))
e = [b[x:x+d] for x in range(0,len(b),d)]
print(e)
这是一种使用
str.split
并存储在dict
Ex:
data = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130','www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130','www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
result = {}
for url in data:
result.setdefault(url.split("/")[1], []).append(url)
print(result)
{'name': ['www.example.com/name/0900',
'www.example.com/name/1000',
'www.example.com/name/1130'],
'name1': ['www.example.com/name1/0900',
'www.example.com/name1/1000',
'www.example.com/name1/1130'],
'name2': ['www.example.com/name2/0900',
'www.example.com/name2/1000',
'www.example.com/name2/1130']}
import re
a = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130',
'www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130',
'www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
b = sorted(a,key=lambda c:c.split('/')[-2])
d = len(re.findall('name/',''.join(b)))
e = [b[x:x+d] for x in range(0,len(b),d)]
print(e)
输出:
data = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130','www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130','www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
result = {}
for url in data:
result.setdefault(url.split("/")[1], []).append(url)
print(result)
{'name': ['www.example.com/name/0900',
'www.example.com/name/1000',
'www.example.com/name/1130'],
'name1': ['www.example.com/name1/0900',
'www.example.com/name1/1000',
'www.example.com/name1/1130'],
'name2': ['www.example.com/name2/0900',
'www.example.com/name2/1000',
'www.example.com/name2/1130']}
import re
a = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130',
'www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130',
'www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
b = sorted(a,key=lambda c:c.split('/')[-2])
d = len(re.findall('name/',''.join(b)))
e = [b[x:x+d] for x in range(0,len(b),d)]
print(e)
你可以
a = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130','www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130','www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
b = {}
for elem in a:
name = elem.split("/")[1]
try:
b[name].append(elem)
except:
b[name] = [elem]
print(b)
这是最简单的分离方法,不需要知道您有多少个单独的链接名。您可以这样做
a = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130','www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130','www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
b = {}
for elem in a:
name = elem.split("/")[1]
try:
b[name].append(elem)
except:
b[name] = [elem]
print(b)
这是最简单的分离方法,不需要知道您得到了多少个独立的链接名。下面是如何将
sorted()
与自定义键一起使用:
data = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130','www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130','www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
result = {}
for url in data:
result.setdefault(url.split("/")[1], []).append(url)
print(result)
{'name': ['www.example.com/name/0900',
'www.example.com/name/1000',
'www.example.com/name/1130'],
'name1': ['www.example.com/name1/0900',
'www.example.com/name1/1000',
'www.example.com/name1/1130'],
'name2': ['www.example.com/name2/0900',
'www.example.com/name2/1000',
'www.example.com/name2/1130']}
import re
a = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130',
'www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130',
'www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
b = sorted(a,key=lambda c:c.split('/')[-2])
d = len(re.findall('name/',''.join(b)))
e = [b[x:x+d] for x in range(0,len(b),d)]
print(e)
输出:
[['www.example.com/name/0900', 'www.example.com/name/1000', 'www.example.com/name/1130'],
['www.example.com/name1/0900', 'www.example.com/name1/1000', 'www.example.com/name1/1130'],
['www.example.com/name2/0900', 'www.example.com/name2/1000', 'www.example.com/name2/1130']]
以下是如何将
sorted()
与自定义键一起使用:
data = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130','www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130','www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
result = {}
for url in data:
result.setdefault(url.split("/")[1], []).append(url)
print(result)
{'name': ['www.example.com/name/0900',
'www.example.com/name/1000',
'www.example.com/name/1130'],
'name1': ['www.example.com/name1/0900',
'www.example.com/name1/1000',
'www.example.com/name1/1130'],
'name2': ['www.example.com/name2/0900',
'www.example.com/name2/1000',
'www.example.com/name2/1130']}
import re
a = ['www.example.com/name/0900','www.example.com/name/1000','www.example.com/name/1130',
'www.example.com/name1/0900','www.example.com/name1/1000','www.example.com/name1/1130',
'www.example.com/name2/0900','www.example.com/name2/1000','www.example.com/name2/1130']
b = sorted(a,key=lambda c:c.split('/')[-2])
d = len(re.findall('name/',''.join(b)))
e = [b[x:x+d] for x in range(0,len(b),d)]
print(e)
输出:
[['www.example.com/name/0900', 'www.example.com/name/1000', 'www.example.com/name/1130'],
['www.example.com/name1/0900', 'www.example.com/name1/1000', 'www.example.com/name1/1130'],
['www.example.com/name2/0900', 'www.example.com/name2/1000', 'www.example.com/name2/1130']]
要包括概括感兴趣的变量_和数字的位置,请按数字排序,并返回列表列表:
#指定感兴趣的变量/数量的位置
i_var=1
i_num=2
#按兴趣变量划分(根据Rakesh的优秀答案)
结果={}
对于url中的url:
result.setdefault(url.split(“/”[i_var],]).append(url)
#按数字排序
out=[]
对于键,result.items()中的值:
append(已排序(值,key=lambda x:x.split(“/”[i_num]))
包括概括感兴趣的变量和数字的位置,按数字排序,并返回列表列表:
#指定感兴趣的变量/数量的位置
i_var=1
i_num=2
#按兴趣变量划分(根据Rakesh的优秀答案)
结果={}
对于url中的url:
result.setdefault(url.split(“/”[i_var],]).append(url)
#按数字排序
out=[]
对于键,result.items()中的值:
append(已排序(值,key=lambda x:x.split(“/”[i_num]))
从集合导入defaultdict
数据=[
“www.example.com/name/0900”、“www.example.com/name/1000”,
“www.example.com/name/1130”、“www.example.com/name1/0900”,
“www.example.com/name1/1000”、“www.example.com/name1/1130”,
“www.example.com/name2/0900”、“www.example.com/name2/1000”,
“www.example.com/name2/1130”
]
输出={
“姓名”:[
“www.example.com/name/0900”,
“www.example.com/name/1000”,
“www.example.com/name/1130”
],
“名称1”:[
“www.example.com/name1/0900”,
“www.example.com/name1/1000”,
“www.example.com/name1/1130”
],
“名称2”:[
“www.example.com/name2/0900”,
“www.example.com/name2/1000”,
“www.example.com/name2/1130”
]
}
name_index=1
结果=defaultdict(列表)
对于数据中的url:
name=url.split('/')[name_index]
结果[名称]。追加(url)
断言输出==结果
从集合导入defaultdict
数据=[
“www.example.com/name/0900”、“www.example.com/name/1000”,
“www.example.com/name/1130”、“www.example.com/name1/0900”,
“www.example.com/name1/1000”、“www.example.com/name1/1130”,
“www.example.com/name2/0900”、“www.example.com/name2/1000”,
“www.example.com/name2/1130”
]
输出={
“姓名”:[
“www.example.com/name/0900”,
“www.example.com/name/1000”,
“www.example.com/name/1130”
],
“名称1”:[
“www.example.com/name1/0900”,
“www.example.com/name1/1000”,
“www.example.com/name1/1130”
],
“名称2”:[
“www.example.com/name2/0900”,
“www.example.com/name2/1000”,
“www.example.com/name2/1130”
]
}
name_index=1
结果=defaultdict(列表)
对于数据中的url:
name=url.split('/')[name_index]
结果[名称]。追加(url)
屁股