Oneliner是否要修改列表中的所有元素?

2024-09-29 17:20:38 发布

您现在位置: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"} );

Tags: 方法代码in编码forprefixfoosuffix
1条回答
网友
1楼 · 发布于 2024-09-29 17:20:38

没有比这更快捷的方法了

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方法来为您预先编写它呢

问题是,当你保留不同的字符串时(不管它们是否几乎相同),你的内存使用量就会增加

相关问题 更多 >

    热门问题