eval 函数的应用 (去除包装在列表外面的引号)

a="[u'ANDROID-5a9ac5c22ad94e26b2fa24e296787a35', u'0', 0, 0, 0, 1]"

此时的a是一个字符串,目的是要去掉a上面的引号,还原为列表,生成 [u'ANDROID-5a9ac5c22ad94e26b2fa24e296787a35', u'0', 0, 0, 0, 1]。

下面方法二的函数很重要。

方法一:

def trans(a):
     d=a[3:-1].split(',')
     e=[x.replace("'","").strip() for x in d]
     f=[e[x][1] if x==1 else e[x] for x in range(len(e))]
     return f

b=trans(a)


方法二:用eval函数:

b=eval(a)

在spark中转换:

data3=data.map(lambda x:eval(x))

原文地址:https://www.cnblogs.com/zhangbojiangfeng/p/6138802.html