python - 单行修改列表中的所有元素?
问题描述
我正在寻找这个 Python 代码的 Lua 等效项(如果可能的话):
>>> ["prefix" + suffix for suffix in ["1","2","3"] ]
['prefix1', 'prefix2', 'prefix3']
这是我目前拥有的 Lua 代码,我想知道是否有更紧凑的方式来编写代码:
function foo (prefix, suffices)
local newList = {}
for k,v in pairs(suffices) do
table.insert(newList, prefix .. v)
end
return newList
end
a = foo( "prefix", {"1","2","3"} );
解决方案
没有更短的方法可以做到这一点。
function prepend_prefix(prefix, suffices)
local newList = {}
for _,v in ipairs(suffices) do
newList[#newList+1] = string.format("%s%s", prefix, v)
end
return newList
end
你为什么要在每个项目中保留这些多余的前缀?为什么不用一些“特殊”表(模型)来包装它并公开一个为您预先设置的 get 方法?
问题是,当您保留不同的字符串时(它们是否几乎相同并不重要),您的内存使用量将会增加。
推荐阅读
- rundeck - 在 Rundeck 中,如果选项中的值根据需要传递给远程命令,如何调试?
- javascript - 意外的令牌 < 在 JSON 中的位置 0 用 firebase auth 表示
- docker - Docker NodeRed 提交的容器不维护流和模块
- android - 是否可以在没有 constrainSetStart 的情况下定义运动场景转换?
- javascript - 为什么条形图出现“反转值”?d3.js
- ruby - Vagrant 创建虚拟机,但突然将其销毁:(
- javascript - 选中单选按钮时的颜色操作
- button - 带有自定义字段的 Paypal 按钮
- laravel - 延长 Laravel 会话时间
- node.js - 强制 node-qrcode 在脚本结束之前将数据放入 PNG 文件中