像这样的字符串:
x = dir\tsubdir1\t\tfile1.ext\t\tsubsubdir1\tsubdir2\t\tsubsubdir2\t\t\tfile2.ext
如何“pythonish/tricky”将上面的字符串拆分为列表?你知道吗
dir
\tsubdir1
\t\tfile1.ext
\t\tsubsubdir1
\tsubdir2
\t\tsubsubdir2
\t\t\tfile2.ext
['dir', '\tsubdir1', '\t\tfile1.ext', '\t\tsubsubdir1', '\tsubdir2', '\t\tsubsubdir2', '\t\t\tfile2.ext']
概念证明:
x = r'dir\tsubdir1\t\tfile1.ext\t\tsubsubdir1\tsubdir2\t\tsubsubdir2\t\t\tfile2.ext'
y = x.split(r'\t')
print(y)
也许用正则表达式?你知道吗
它是如何工作的?
正则表达式是
这意味着“一个标签前面没有另一个标签”,所以标签序列中的每个第一个标签都与regex匹配。然后用作分割标记。你知道吗
拆分之后,从每个后续项中剥离一个选项卡,因此最后一行
L[:1] + ['\t' + i for i in L[1:]]
将缺少的选项卡放回前面。你知道吗输出:
您可以通过触摸
path
输入的每个字符一次+一些list comp:输出:
在连接步骤之前,累积的列表如下所示:
您不想添加到字符串,因为它会创建许多中间的“丢弃”字符串实例,这会减慢它的速度-usings list要快得多,压力也要小得多。你知道吗
相关问题 更多 >
编程相关推荐