我希望能够像和list1 = ['a/b','c/d','e/f']成一个数组。list2= ['a','c','e']list3 = ['b','d','f']

我会这样:

list1 = ['a/b','c/d','e/f']list2, list3 = map(list, zip(*(x.split('/') for x in list1)))print(list2, list3)# ['a', 'c', 'e'] ['b', 'd', 'f']

您要做的是创建一个生成器,生成一个/分别由char 左右字符串组成的元组。然后使用zip()将它们展开为分别由第一元素和第二元素组成的元组。最后,map()用于将tuple返回的s 转换zip()为lists。

您可以使用str .split()方法,在其中指定要用于分割字符串的字符,在这种情况下为'/'。您需要将此方法应用于列表中的所有元素,因此可以使用:

list1 = ['a/b','c/d','e/f']list2 = [item.split('/')[0] for item in list1]list3 = [item.split('/')[1] for item in list1]

输出:

list2 = ['a', 'c', 'e']list3 = ['b', 'd', 'f']
[b[0] for b in [a.split('/') for a in list1]]['a', 'c', 'e'][b[1] for b in [a.split('/') for a in list1]]['b', 'd', 'f']

一行:

list1 = ['a/b','c/d','e/f']list2, list3 = [x.split('/')[0] for x in list1], [x.split('/')[1] for x in list1]
 l2 = []
 l3 = []
 l1 = ['a/b','c/d','e/f']
 for item in l1:
item1, item2 = item.split("/")
l2.append(item1)
l3.append(item2)