r - R相当于python星解包?
问题描述
我在 R 中有一个带有可变数量参数的例程,我需要调用这个例程并传递一个解压缩列表。在python中我会做
lst = [1,2,3]
my_func(*lst)
R中的等效语法是什么?
更具体地说,我正在使用闪亮,我正在尝试创建一个动态的条目列表
这是代码。
server <- function(input, output) {
applist <- c(
a(href="#", class="list-group-item",
h4(class="list-group-item-heading", "Entry 1"),
p(class="list-group-item-text", "Description")
),
a(href="#", class="list-group-item",
h4(class="list-group-item-heading", "Entry 2"),
p(class="list-group-item-text", "Description")
))
output$applist = renderUI(
div(class="list-group", ... applist)
)
}
解决方案
由 OP 发布。
这是我解决的方法。usingdo.call
可以解决问题,但您必须注意,python 中的列表与 R 中的列表不同。R 中的列表更类似于字典和列表的混合。
applist <- list(
class="list-group",
a(href="#", class="list-group-item"),
a(href="#", class="list-group-item")
)
output$applist = renderUI(do.call(div, applist))
请注意 applist 如何同时包含命名条目class
和非命名条目。正如我所说,混合动力车。然后do.call
进行“解包”,但 applist 的内容随后作为命名或非命名参数分发。它与 python 的工作方式不同,其中命名和非命名总是分开的。
推荐阅读
- javascript - 如何在画布背景上显示 DIV
- node.js - 在 firebase 函数中设置 dotenv
- sql - 如何在此案例语句中处理除以零
- php - 如何将概率放入多个项目的随机生成中?
- google-sheets - 在发生特定时间后,如何将特定值替换为另一个值?
- javascript - 如何使用NodeJS中的firebase云功能从firebase实时数据库中找出最近的位置LatLng
- docker - 增加 docker pull 超时
- sql - Excel VBA - 动态范围
- rust - Rust 中元组的求值顺序是什么?
- sql - 对连续行进行分组的 SQL 函数