python - 如何有条件地创建列表?

标签 python list if-statement

我有以下问题。我想有条件地形成一个列表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 将来可能会更改,我将不得不更改插入函数中的索引。我还有一个条件——这个添加的字符串应该始终跟在“b”之后。另一种解决方案是在列表中搜索“b”,然后在其后插入,但这会增加复杂性并且很难看。

理想情况下我认为它应该是这样的

a = ["a","b",if add_string then "Added String","c"]

最佳答案

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

关于python - 如何有条件地创建列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59888422/

相关文章:

python - 基于字符串迭代声明变量?

list - F#函数查找列表的所有旋转

java - 有没有更好的方法来编写与我相同的代码?

linux - 需要修复小循环错误

python - 在 Altair 中订购条形图?

python - 为什么这些基本转换器给出不同的答案?

python - 查看转换后的数据

c# - 在 List<long> 中找到第一个可用的 long

java - 实现必须从不同线程添加/删除元素的元素列表的最佳方法是什么?

BASH:在 for 循环中使用 continue