python - 为迭代器的每个元素创建一个包含 2 个条目的列表

标签 python list iterator

我正在寻找一种更优雅的方式来做这样的事情:

[data[i/2] if i%2==0 else log10(data[i/2]) for i in xrange(len(data)*2)]

所以如果数据是[1,10,100],我想制作一个列表:

[1,0,10,1,100,2]

仅供引用:这是为了输出到 csv 文件

最佳答案

data = [1,10,100]
itertools.chain(*((x,log10(x)) for x in data))

然后列一个 list

关于python - 为迭代器的每个元素创建一个包含 2 个条目的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7303390/

相关文章:

python - 在 python 箱线图中调整 X 轴上的间距

python - 如何从列表中检索单词的位置?

python - 如何将 numpy 数组列表转换为单个 numpy 数组?

Java 使用 Stream 对列表进行排序和分组

c++ - 有效输入迭代器的默认构造

arrays - 如何遍历哈希和数组并替换字符串中的单词

python - Django - 无法为具有动态 upload_to 值的 ImageField 创建迁移

python - Pandas 时间切片

java - mockito anyList 给定大小

C++如何将ifstream内容(来自文件)分配给具有偏移量的字符串(istreambuf_iterator)