想象一下,您有一个字符串列表。
lst = ['a','b17','c','dz','e','ff','e3','e66']
您要将这些字符串分成单独的变量
a = lst[:7]
b = lst[7:14]
c = lst[14:21]
我想知道是否有一种Python的方式来处理此问题,而不是花时间键入每个列表拼接。
答案 0 :(得分:2)
您可以使用生成器表达式生成切片并将其解压缩为所需的变量:
a, b, c = (lst[i:i+7] for i in range(0, 21, 7))
但是,如果列表中有21个以上的项目,则会产生太多的错误,无法解包,因此最好使用列表推导将其保留为列表而不是单个变量:
[lst[i:i+7] for i in range(0, len(lst), 7)]
答案 1 :(得分:1)
尝试此方法:
[Fri 21 Dec 00:28:26] PS C:\WINDOWS\system32>$date1
11 December 2018 10:20:00
[Fri 21 Dec 00:30:01] PS C:\WINDOWS\system32>$date2
11 December 2018 12:00:00
将def f(lst,n):
l=[]
range_=list(range(0,len(lst),n))
for x,y in zip(range_,range_[1:]):
l.append(lst[x:y])
return l
print(f(lst,7))
输出为:
lst
是:
lst = ['a','b17','c','dz','e','ff','e3','e66']*5