前几天遇到了一个问题,就是要求我从一个list中,把每个字符串的中间的几位取出来并在前面加上‘00’,每个字符串的分隔符是‘/’,我的第一想法是把list弄到DataFrame中,然后循环把要的取出来存到新的list中,可是复杂了,后来想到了zip函数,所以,后来实现了一下,文字可能没表述很清楚,我把两种方法都展示一下,好便于大家理解。
首先:数据大致是这个样子的,我就随便写了四个,就是要把‘22#’,‘33#’,‘4#’等等,有很多,输出到list中,格式为:‘0033’,就是前面加上‘00’后面去掉‘#’。
files = ['a/22#/weqwe/rwerwer/werwet',
'b/33#/weqwe/rwerwer/werwet',
'c/4#/weqwe/rwerwer/werwet',
'd/5#/weqwe/rwerwer/werwet']
然后我的第一想法是这样的:
import pandas as pd
df = pd.DataFrame(files,columns=['one'])
df = df['one'].apply(lambda x:x[2:5]).tolist()
df = [i.replace('#&