Python 列表理解。 Alternative/Better这段代码怎么写?
Python list comprehension. Alternative/Better way to write this code?
这是我正在使用的示例:
>>> a = [('The','det'),('beautiful','adj')]
>>> d = [y for (x,y) in a]
>>> z = [x.lower() for (x,y) in a]
>>> final=[]
>>> final = zip(d,z)
>>> final
>>> [('det', 'the'), ('adj', 'beautiful')]
当直接从控制台工作时,这是一种很好的工作方式。如果我必须从 .py 文件中 运行 怎么办?我想知道是否有 efficient/better 重写这个的方法,也许使用 for 循环?
您只需一步即可生成最终输出:
final = [(y, x.lower()) for x, y in a]
或者使用更好的变量名来使放在哪里更清楚:
final = [(tag, word.lower()) for word, tag in a]
演示:
>>> a = [('The','det'),('beautiful','adj')]
>>> [(y, x.lower()) for x, y in a]
[('det', 'the'), ('adj', 'beautiful')]
您可以执行以下操作:
[(i[1], i[0].lower()) for i in a]
这是我正在使用的示例:
>>> a = [('The','det'),('beautiful','adj')]
>>> d = [y for (x,y) in a]
>>> z = [x.lower() for (x,y) in a]
>>> final=[]
>>> final = zip(d,z)
>>> final
>>> [('det', 'the'), ('adj', 'beautiful')]
当直接从控制台工作时,这是一种很好的工作方式。如果我必须从 .py 文件中 运行 怎么办?我想知道是否有 efficient/better 重写这个的方法,也许使用 for 循环?
您只需一步即可生成最终输出:
final = [(y, x.lower()) for x, y in a]
或者使用更好的变量名来使放在哪里更清楚:
final = [(tag, word.lower()) for word, tag in a]
演示:
>>> a = [('The','det'),('beautiful','adj')]
>>> [(y, x.lower()) for x, y in a]
[('det', 'the'), ('adj', 'beautiful')]
您可以执行以下操作:
[(i[1], i[0].lower()) for i in a]