python 编程小技巧

如何去掉列表中的重复项

最简单的方法式利用集合操作

data_list = [1,1,2,3,4,4]
data_unique = set(data_list)
< {1,2,3,4}

如何在for循环中同时对两个对象进行迭代

利用zip函数,打包两个对象(也可以打包多个对象)

>>L1 = [1234]
>>L2 = [5678]
>>zip(L1,L2)         #生成了一个新的迭代对象
>>list(zip(L1,L2)) 
>[(1,5),(2,6),(3,7),(4,8)] #可迭代对象的每个元素都是一个元组,
>>for(x,y) in zip(L1,L2):
>     print(x,y,'--',x+y)

x,y值改变对应容器中的值不会改变。如果希望改变容器里面的值的话,暂时我想到的只能用
这种方法。

for i in range(0, len(L1))
    L2[i] = L1[i]

如何遍历一个文件夹下的所有文件

在使用一组txt文件进行特征矩阵以及标签向量构建时候,需要遍历一个文件夹下的所有文件,那么方法查到几种:

#r抑制转移字符
#方法1 使用os.listdir
import os
for filename in os.listdir( r'c:\Windows' ):
    print filename
#方法2 使用glob模块, 可以设置文件过滤
import glob
for filename in glob.glob( r'c:Windows\*.exe' ):
    print filename
#方法3 通过os.path.walk递归遍历,可以访问子文件夹
import os.path
def processDirectory( args, dirname, filenames ):
    print ('Directory',dirname)
    for filename in filenames:
        print('File',filename)

os.path.walk( r'c:\windows', processDirectory, None )       

猜你喜欢

转载自blog.csdn.net/ronaldo_hu/article/details/51248458