我想像这样转换一个列表:
["Red", "Green", "Blue"]
进入字符串三元组的元组序列:
[("RED", "Red", ""), ("GREEN", "Green", ""), ("BLUE", "Blue", "")]
直到现在我一直使用这个方法:
def list_to_items(lst):
items = []
for i in lst:
items.append((i.upper(), i, ""))
return items
但是感觉有点丑。有没有更好/更 pythonic 的方式来做到这一点?
请您参考如下方法:
类似于列表理解,但有点不同。
这是 map 函数。
lst = ["Red", "Green", "Blue"]
new_lst = map(lambda x: (x.upper(), x, ""), lst)
它基本上根据您作为第一个参数输入的函数逐个更改列表的每个元素。在这种情况下:
lambda x: (x.upper(), x, "")
如果您不知道lambda 是什么,它几乎就像在高中数学中一样:
f(x) = (x.upper(), x, "") # basically defines a function in one line.
