我希望能够像和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)