我有以下问题。我想有条件地形成一个列表a

可以说我有一个add_string变量,如果是True,那么

a = ["a","b","Added String","c"]

其他
a = ["a","b","c"]

最好的方法是什么?我可以按照以下方式进行
a = ["a","b","c"]
if add_string:
  a.insert(2,"Added String")

但这并不理想,因为列表a将来可能会更改,而我将不得不在insert函数中更改索引。我也有一个条件-此添加的字符串应始终在“b”之后。另一种解决方案是在列表中搜索“b”,然后在其后插入,但这增加了复杂性并且很丑陋。

理想情况下,我认为应该像
a = ["a","b",if add_string then "Added String","c"]

最佳答案

a = ["a","b"] + (["Added String"] if add_string else []) + ["c"]

10-08 15:10