首页 \ 问答 \ 获取列表中最长的元素(Get the longest element of a list)

获取列表中最长的元素(Get the longest element of a list)

假设你有一个data.frames列表

dfs <- list(
  a = data.frame(x = c(1:4, 7:10), a = runif(8)),
  b = data.frame(x = 1:10, b = runif(10)),
  c = data.frame(x = 1:10, c = runif(10))
)

现在我想提取列表中最长的data.frame或data.frames。 怎么样?

我被困在这一点上:

library(plyr)
lengths <- lapply(dfs, nrow)
longest <- max(lengths)

Suppose you have a list of data.frames like

dfs <- list(
  a = data.frame(x = c(1:4, 7:10), a = runif(8)),
  b = data.frame(x = 1:10, b = runif(10)),
  c = data.frame(x = 1:10, c = runif(10))
)

I would now like to extract the longest data.frame or data.frames in this list. How?

I am stuck at this point:

library(plyr)
lengths <- lapply(dfs, nrow)
longest <- max(lengths)

原文:https://stackoverflow.com/questions/34747185
更新时间:2020-10-25 22:10

最满意答案

R中有两个内置函数可以解决你的问题,我认为:

  1. which.max :返回列表中等于最大值的第一个元素的索引

    > which.max(lengths)
    [1] 2
    
  2. 哪个函数返回所有TRUE的索引在这里:

    > which(lengths==longest)
    [1] 2 3 
    

然后,您可以将列表子集化为所需的元素:

dfs[which(lengths==longest)]

将在你的例子中返回b和c。


There are two built-in functions in R that could solve your question in my opinion:

  1. which.max: returns the index of the first element of your list that is equal to the max

    > which.max(lengths)
    [1] 2
    
  2. which function returns all indexes that are TRUE Here:

    > which(lengths==longest)
    [1] 2 3 
    

Then you can subset you list to the desired element:

dfs[which(lengths==longest)]

will return b and c in your example.

2017-02-15

相关问答

更多

获取列表中最长连续重复序列的开始和结束索引(Get start and end indices of longest streak of repetitions in a list)

考虑到你的代码,你仍然可以继续使用itertools并使用underdog takewhile : from itertools import takewhile, groupby import itertools L = [list(y) for x, y in groupby(streak)] l = sorted(L, key=len)[-1] ix = len(list(itertools.chain.from_iterable(takewhile(lambda x: x!=l, L) ...

列表中最长的单词(Longest word in List)

你应该问自己:字符串列表的最大值是多少? List[String].max和String.max需要为他们的任务做更多的说明。 使用List.maxBy而不是List.reduceLeft input2.maxBy(_.length) 使用隐式类型转换 implicit def string2ordering(s: String) = s.length input2.max you should ask yourself: What is the max for a list of Strin ...

为什么max(Operator)不返回最长的列表?(Why does max (Operator) not return the longest list?)

F#按元素逐个比较列表。 因为'B' > 'A'所以它认为第一个列表>第二个(字典顺序)并打破进一步比较。 您可以使用列表上的.Length属性来比较长度。 像这样,例如; let longest = if xs.Length > ys.Length then xs else ys 结果: val longest : char list = ['A'; 'B'] F# compares lists element by element. As 'B' > 'A' so it consider ...

列表SortedList中的最长列表(Longest list in SortedList of Lists)

也许有一种更有效的方式,但你可以按数量(价值)降序排列,并且先取。 myList.OrderByDescending(m => m.Value.Count()).First().Key; 当然,如果你想要所有的计数最高的键(它们可能是多个相同长度的值),你应该按计数进行分组。 类似的东西。 myList.GroupBy(m => m.Value.Count()) .OrderByDescending(m => m.Key)//I'm the key of the group by ...

在字典中列出值,获取最长列表的关键字(List as value in dictionary, get key of longest list)

使用max : >>> max(testDict, key=lambda x:len(testDict[x])) 32 如果多个键包含最长的列表: 然后我想获得多个密钥。 >>> testDict = {76: [4], 32: [2, 4, 7, 3], 56: [2, 58, 59], 10: [1, 2, 3, 4]} >>> mx = max(len(x) for x in testDict.itervalues()) >>> [k for k, v in testDict.iterit ...

在Python中保存最长的列表(Saving longest list in Python)

当你做longest = palindrome ,你指向palindrome longest列表的参考,因此palindrome.append(s[j]) 也是 longest 您需要复制列表。 longest = palindrome[:] 例如, def longestPalindrome(s): longest = [] palindrome = [] for i in range(len(s)): for j in range(i, len(s)) ...

每个元素的最长增加子序列(Longest Increasing Subsequence from each element)

您可以使用DP并将其降低到O(n ^ 2)。 设输入为x1,x2,...,xn 令f1,f2,...,fn是从第i个元素开始的最长增加序列的长度。 将所有这些初始化为1。 现在, for i = n-1, n-2, .... , 1: for j = i,i+1,...,n: if x[i]<x[j]: fi=max(fi, fj+1) 如果除了长度之外还需要实际序列,请跟踪另一个变量g1,g2,...,gn,其中gi是下一个要遵循的元素。 将gi ...

返回列表中最长单词的len [重复](Return len of the longest word in a list [duplicate])

实际上,你的问题很简单:你忘了在脚本的末尾调用main函数: main() 当你这样做时,它会打印8 ,就像它应该的那样。 但是,如果使用max及其键功能,则可以更轻松地完成此任务: >>> list1 = ['a','aa','aaa','aaaa','aaaaa','aaaaaa','aaaaaaa','aaaaaaaa',] >>> max(list1, key=len) 'aaaaaaaa' >>> len(max(list1, key=len)) 8 >>> 编辑: 虽然我的上述解决 ...

获取python中链接列表中最长的链接(Getting the longest link in list of links in python)

鉴于您在评论中的注释,我修改了代码。 这假设图是DAG,并且目标是消除列表中其他序列的所有序列。 我们可以放弃任何其他序列子集的序列,而不是查看每个序列的长度。 为此,我们可以使用str子集运算符。 print(f"Initial list: {edges_1}") keepers = [] for edge in edges_1: other_edges = edges_1[:] other_edges.remove(edge) print(f"Test {edge} ...

获取列表中最长的元素(Get the longest element of a list)

R中有两个内置函数可以解决你的问题,我认为: which.max :返回列表中等于最大值的第一个元素的索引 > which.max(lengths) [1] 2 哪个函数返回所有TRUE的索引在这里: > which(lengths==longest) [1] 2 3 然后,您可以将列表子集化为所需的元素: dfs[which(lengths==longest)] 将在你的例子中返回b和c。 There are two built-in functions in R that could ...

相关文章

更多

最新问答

更多
  • 如何保护Solr只允许SELECT请求给用户并禁止其他任何东西?(How to secure Solr to allow SELECT request to only users and disallow anything else?)
  • XPath表达式无效/错误TFHpple SWIFT 1.2(XPath Expression not working/incorrect TFHpple SWIFT 1.2)
  • css3 3D变换不能平滑地制作动画(css3 3D transform doesn't animate smoothly)
  • 运行时错误'91'和Outlook.Application = <对象变量或没有设置块变量>?(Run-time error '91' & Outlook.Application = Object variable or With block variable not set?)
  • 慢的webservice问题(Slow webservice problem)
  • textview的不正确对齐方式(Improper alignment of a textview)
  • 在第一步“Hello World”中出现Java错误(Cannot run “Hello World” program in Eclipse)
  • 为什么十六进制地址是14个字符?(why the hex address is 14 character?)
  • 如何在Python中的不同类中使用变量?(How to use variable in different classes in Python?)
  • asp:GridView HYPERLINKFIELD - datanavigateurlformatstring中的asp代码(asp:GridView HYPERLINKFIELD - asp code inside datanavigateurlformatstring)
  • 关于adaboost算法(About adaboost algorithm)
  • 在Matlab上内置图像(Built in Images on Matlab)
  • java swing:输入键事件时焦点丢失(java swing: Focus lost on enter key event)
  • C#中的通用约束,T是相同的TSomethingElse,对吧?(Generic constraints in C#, T is the same TSomethingElse, right?)
  • 从mybatis中的光标获取数据(Fetching data from cursor in mybatis)
  • 在运行时从XML构建对象的最佳方法(Best way for building objects out of XMLs at runtime)
  • 在整个窗口中拉伸sf :: Sprite(Stretch sf::Sprite across entire window)
  • Selenium Node API Web驱动程序等待超时处理程序(Selenium Node API web driver wait timeout handler)
  • 函数使用并且是map的一部分(循环依赖?)(Function uses and is part of map (circular dependency?))
  • 是否可以在C ++ 14中使用可选模板参数创建类型元组?(Is possible to make a tuple of types with optional template parameters in C++14?)
  • PHP从窗帘后面打印/ f(PHP prints /f from behind the curtains)
  • JFrame的contentPane的LayoutManager(LayoutManager of JFrame's contentPane)
  • 用于Instagram Feed的图像滚动(Image Roll Overs for Instagram Feed)
  • 如何显示拉伸字体(双倍宽度/高度)?(How to display stretched font (double width/height)?)
  • 文件操作API在fileapi.h和stdio.h中的WP8差异?(WP8 differences between file manipulation APIs in fileapi.h and stdio.h?)
  • 保存失败后Rails没有回滚事务()(Rails not rolling back transaction after failed save())
  • jqgrid中的分页问题与数组数据(Pagination problem in jqgrid with array data)
  • 重定向时,通过其他页面上的URL调用javascript函数(Call javascript function through url on otherpage while Redirecting)
  • 如何使用InvokeCommandAction调用我的方法并传入参数?(How do I go about using InvokeCommandAction to call a method of mine and pass in parameters?)
  • Jquerymobile按钮仅显示页面的第一个外观(Jquerymobile buttons are shown only first apperance of the page)