Python 将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

我正在尝试根据名称将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/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)
屁股