标签: sublist

为什么子列表中的更改会反映在原始列表中?

我知道,Collections当你通过引用传递它们时,Java是可变的.
我想知道究竟在原始列表和子列表的内存地址中发生了什么.
子列表和原始列表是否指向同一个对象?

以下是反映子列表中对主要原始列表所做更改的代码示例.

List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add(1, "3");

List<String> list2 = new LinkedList<String>(list);

list.addAll(list2);

list2 = list.subList(2, 5);
list2.clear();               //Changes are made to list

System.out.println(list);
Run Code Online (Sandbox Code Playgroud)

java list arraylist sublist

5
推荐指数
1
解决办法
2501
查看次数

如何获取R中列表的每个项目的第n个元素

如果我们有一个列表,每个项目可以有不同的长度.例如:

l <- list(c(1, 2), c(3, 4,5), c(5), c(6,7))
Run Code Online (Sandbox Code Playgroud)

(为了清楚起见,我们将在列表"items"中调用对象,并在列表"elements"的对象中调用对象.)

我们如何提取,例如每个项目的第一个元素?在这里,我想提取:

1, 3, 5, 6
Run Code Online (Sandbox Code Playgroud)

然后每个项目的第二个元素的相同问题:

2, 4, NA, 7
Run Code Online (Sandbox Code Playgroud)

r list vector sublist

5
推荐指数
1
解决办法
3950
查看次数

嵌套有序列表

我需要一个带有子项编号的嵌套列表,如下所示:

1. Item 1
  1.1 - Subitem 1
  1.2 - Subitem 2
  1.3 - Subitem 3
  1.4 - Subitem 4
  1.5 - Subitem 5
2. Item 2
  2.1 - Subitem 1
  2.2 - Subitem 2
  2.3 - Subitem 3
  2.4 - Subitem 4
  2.5 - Subitem 5
Run Code Online (Sandbox Code Playgroud)

好吧,我知道用纯HTML无法实现这一点.使用这样的东西并自动编号子列表会很棒:

<ol>
<li>
   Item 1
   <ol>
     <li>Subitem 1</li>
     <li>Subitem 2</li>
     <li>Subitem 3</li>
     <li>Subitem 4</li>
     <li>Subitem 5</li>
   </ol>
</li>
<li>
   Item 2
   <ol>
     <li>Subitem 1</li>
     <li>Subitem 2</li>
     <li>Subitem 3</li>
     <li>Subitem 4</li>
     <li>Subitem 5</li>
   </ol> …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery html-lists sublist

4
推荐指数
2
解决办法
2850
查看次数

如何过滤项目的子列表

我想要一个List<Container>地方Container.Active == true,只给我containerObject.Items > 2.如何以这种方式过滤子列表?

using System;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApplication1
{
    internal class Container
    {
        public List<int> Items { get; set; }
        public bool Active { get; set; }

        public Container(bool active, params int[] items)
        {
            Items = items.ToList();
            Active = active;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var containers = new List<Container> {new Container(true,1, 2, 3), new Container(false, 1,2,3,4,5,6), new Container(true,1,2,5,6,7,8,9,10)};
            var result = containers.Where(c => …
Run Code Online (Sandbox Code Playgroud)

.net c# linq filter sublist

4
推荐指数
1
解决办法
3407
查看次数

在常见的lisp中对子列表进行排序

非常简单

有了这个,(sort L #'> :key #'second))我可以排序,(((C) 1) ((D) 1) ((E) 1) ((F) 1) ((G) 1) ((H) 1) ((B) 3) ((A) 8))

但现在我要排序,((((A) 8)) (((B) 3)) (((C) 1)) (((D) 1)) (((E) 1)) (((F) 1)) (((G) 1)) (((H) 1))).

我需要做些什么(sort L #'> :key #'second))才能让第二个列表排序?

lisp sorting common-lisp sublist

4
推荐指数
1
解决办法
549
查看次数

如果该子列表中的任何元素在另一个列表中,如何删除列表中的列表(即子列表)?

我有一个包含许多子列表的列表.例如:

full_list = [[1, 1, 3, 4], [3, 99, 5, 2],[2, 4, 4], [3, 4, 5, 2, 60]]
Run Code Online (Sandbox Code Playgroud)

我还有另一个列表,名为省略.例如:

omit = [99, 60, 98]
Run Code Online (Sandbox Code Playgroud)

如果该子列表中的任何元素在省略列表中,我想删除full_list 中的子列表.例如,我希望结果列表是:

reduced_list = [[1, 1, 3, 4], [2, 4, 4]]
Run Code Online (Sandbox Code Playgroud)

因为只有这些子列表没有省略列表中的元素.

我猜是有一些简单的方法可以通过列表理解来解决这个问题,但我无法让它工作.我尝试了很多东西:例如:

reduced_list = [sublist for sublist in full_list if item for sublist not in omit] 
Run Code Online (Sandbox Code Playgroud)
  • 这段代码导致错误(无效的snytax) - 但我想我错过了更多.

任何帮助将非常感激!

ps,以上是一个简化的问题.我的最终目标是从非常长的列表(例如,500,000个子列表)中删除子列表,如果这些子列表中的任何元素(字符串)在"省略"列表中包含超过2000个字符串.

python performance list sublist

4
推荐指数
1
解决办法
3565
查看次数

如何将列表元素拆分为两个?

如果我将数据存储在列表中,例如

images = ['pdf-one','gif-two','jpg-three']
Run Code Online (Sandbox Code Playgroud)

如何在连字符处将这些元素拆分为多个元素 - 而不是子列表.即

images = ['pdf','-one','gif','-two','jpg','-three']
Run Code Online (Sandbox Code Playgroud)

images = [['pdf','-one'],['gif','-two'],['jpg','-three']]
Run Code Online (Sandbox Code Playgroud)

python list sublist

4
推荐指数
1
解决办法
2116
查看次数

如何检查列表是否是 Prolog 中另一个列表的非空子列表

我正在尝试创建一个included_list(X,Y)术语来检查 X 是否是 Y 的非空子列表。

我已经用它来检查元素是否存在于 Y 列表中

check_x(X,[X|Tail]).
check_x(X,[Head|Tail]):- check_x(X,Tail).
Run Code Online (Sandbox Code Playgroud)

和附加条款

append([], L, L).
append([X | L1], L2, [X | L3]) :- append(L1, L2, L3).
Run Code Online (Sandbox Code Playgroud)

创建一个列表,以便程序完成

included_list([HeadX|TailX],[HeadX|TailX]).
Run Code Online (Sandbox Code Playgroud)

但是我在处理我试图通过“追加”创建的新空列表时遇到问题(我想创建一个空列表来添加确认存在于两个列表中的元素。)

我找到了这个

sublist1( [], _ ).
sublist1( [X|XS], [X|XSS] ) :- sublist1( XS, XSS ).
sublist1( [X|XS], [_|XSS] ) :- sublist1( [X|XS], XSS ).
Run Code Online (Sandbox Code Playgroud)

但它在 sublist([],[1,2,3,4)

prolog sublist

4
推荐指数
1
解决办法
2417
查看次数

Java:检索ArrayList的随机不连续子列表(最有效的方法)

简单地说我的问题是:检索具有给定大小的ArrayList的随机不连续子列表的最有效方法是什么.

以下是我自己的设计,虽然有效,但对我来说似乎有点笨拙.这是我的第一个JAVA程序,所以请原谅我的代码或问题是否符合最佳实践;)

备注:
- 我的列表不包含重复项
- 我猜想如果AimSize超过原始列表大小的一半,删除项目而不是添加项目可能会更快

public ArrayList<Vokabel> subList(int AimSize) {
    ArrayList<Vokabel> tempL = new ArrayList<Vokabel>();
    Random r = new Random();
    LinkedHashSet<Vokabel> tempS = new LinkedHashSet<Vokabel>();

    tempL = originalList;

    // If the size is to big just leave the list and change size 
    // (in the real code there is no pass-by-value problem ;)
    if (!(tempL.size() > AimSize)) {
        AimSize = tempL.size();
    // set to avoid duplicates and get a random order
    } else if (2* AimSize …
Run Code Online (Sandbox Code Playgroud)

java random arraylist set sublist

4
推荐指数
1
解决办法
1895
查看次数

访问列表列表中的第一个元素[F#]

我现在对F#感兴趣,因为它与我以前用过的所有东西都不一样.我需要访问大型列表中包含的每个列表的第一个元素.如果我假设主列表包含"x"列表本身包含5个元素,那么访问每个第一个元素的最简单方法是什么.

let listOfLists = [[1; 2; 3; 4; 5]; [6; 7; 8; 9; 10]; [11; 12; 13; 14; 15]]

我想要的输出将是一个包含[1; 6; 11]的新列表

目前我有

let rec firstElements list  =
    match list with
    | list[head::tail] -> 
        match head with
        | [head::tail] -> 1st @ head then firstElements tail
Run Code Online (Sandbox Code Playgroud)

然后扩展它,我将如何获得所有第二个元素?是否最好在没有第一个元素的情况下创建新列表(通过使用类似函数删除它们)然后重用相同的函数?

recursion f# sublist

4
推荐指数
2
解决办法
1546
查看次数

标签 统计

sublist ×10

list ×4

arraylist ×2

java ×2

python ×2

.net ×1

c# ×1

common-lisp ×1

f# ×1

filter ×1

html ×1

html-lists ×1

javascript ×1

jquery ×1

linq ×1

lisp ×1

performance ×1

prolog ×1

r ×1

random ×1

recursion ×1

set ×1

sorting ×1

vector ×1