【发布时间】:2021-07-31 17:27:59
【问题描述】:
我有以下列表:
list1 = [[1,"one"],[2,"two"],[3,"three]]
我想要输出:
list2 = [[11,"one"],[2,"two"],[3,"three"]]
使用 if-else 语句的列表推导似乎是一个不错的选择。
list2 = [x if x[0] != 1 else 11 for x[0] in list1]
但是,我得到了未定义“x”的 NameError。我应该如何定义 x?
【问题讨论】:
-
你的意思是
for x in list1。x[0]不是绑定名称的合法方式。 -
不,好像我这样做,它输出 list2 = [11,[2,"two"],[3,"three"]]
-
不,您目前收到的是
NameError,上面的评论解决了这个问题。 -
[x if x[0] != 1 else [11, x[1]] for x in list1]
-
@gumrana Carcigenicate 的上述评论确实解决了错误,但并没有解决我的问题。多亏了 Mady Daby 和 ThePyGuy,现在一切都解决了!非常感谢你们!
标签: python list list-comprehension