有人可以将此python(2.7.2)转换为等效的单行程吗?这段代码工作正常,但对于python似乎有点奢侈。
for i in range(0,len(schema)):
schema[i] = list(schema[i])
for j in range(0,len(schema[i])):
if isinstance(schema[i][j], unicode):
schema[i][j] = str(schema[i][j])
我正在摸索下面这样的东西......但它显然不起作用。
[i = str(i) for i for sublist in schema for i in sublist if isinstance(i, unicode)]
为了记录,我正在转换一些不需要unicode格式化的sqlite架构信息,就像这样('schema'的值):
[(0, u'course', u'VARCHAR(128)', 0, None, 0), ... (another tuple) ... ]
到这样的字符串(如果需要,可以将元组转换为列表):
[(0, 'course', 'VARCHAR(128)', 0, None, 0), ... (another tuple) ... ]
答案 0 :(得分:2)
我认为你真正想要的是一个列表理解,它与lambda
不完全相同processed = [[val if not isinstance(val,basestring) else str(val) for val in row] for row in schema]
我认为至少