在我们日常处理数据中,可能会经常出现将数据转变为列表形式,不过在转变的时候有时候因为数据的的问题,会在最终生成的数据中带有特殊字符,例如回车符等,我们看下这个例子,假设你生成一个嵌套列表,格式如下:
[[‘abc\n’],[cde\n],[def\n],………]
每个子列表中都带有回车符,如何将这些不需要的回车符删掉呢?
其实很简单,短短几行代码就可以实现,具体代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
mylist = [['abc\n'],['cde\n']] for k, i in enumerate(mylist): print k,i for m, n in enumerate(i): print k,n mylist[k][m] = n.rstrip() print mylist |
程序解释:enumerate()函数在遍历序列对象时,会得到序列元素的下标和元素,脚本外层循环得到mylist列表的元素的下标和元素,对应k, i, 内嵌循序获得元素本身的元素下标和元素(元素本身也是列表),对应m,n, mylist[k][m]是元素的下标表示,嵌套数组类似二位数组矩阵,例如二位嵌套列表的第一个元素表示,mylist[0][0],为方便说明,请看示意图:
注:此图来源于网络
去掉回车符的实际操作是rstrip()函数,表示删除右字符,相对的有lstrip(),strip()分别是删除左字符和删除左右字符。