标签: grouping

如何按索引对项目进行分组?C#LINQ

假设我有

var input = new int[] { 0, 1, 2, 3, 4, 5 };
Run Code Online (Sandbox Code Playgroud)

如何将它们分组成对?

var output = new int[][] { new int[] { 0, 1 }, new int[] { 2, 3 }, new int[] { 4, 5 } };
Run Code Online (Sandbox Code Playgroud)

最好使用LINQ

.net c# linq ienumerable grouping

18
推荐指数
3
解决办法
1万
查看次数

创建子列表

与列表展平相反.

给定列表和长度n返回长度为n的子列表的列表.

def sublist(lst, n):
    sub=[] ; result=[]
    for i in lst:
        sub+=[i]
        if len(sub)==n: result+=[sub] ; sub=[]
    if sub: result+=[sub]
    return result
Run Code Online (Sandbox Code Playgroud)

一个例子:

如果列表是:

[1,2,3,4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)

而n是:

3
Run Code Online (Sandbox Code Playgroud)

返回:

[[1, 2, 3], [4, 5, 6], [7, 8]]
Run Code Online (Sandbox Code Playgroud)

有更有说服力/简洁的方式吗?

另外,将列表附加到列表时(在上面的上下文中)首选:

list1+=[list2]
Run Code Online (Sandbox Code Playgroud)

要么:

list1.append(list2)
Run Code Online (Sandbox Code Playgroud)

鉴于此(根据Summerfeild的"Python 3编程"),它们是一样的吗?

谢谢.

python grouping list

18
推荐指数
4
解决办法
3万
查看次数

Javascript json数据分组

对不起,如果以前曾经问过,但我找不到一个很好的例子,说明我想要完成的事情.也许我只是不寻找正确的事情.如果在某处有解释,请纠正我.无论如何...

我有像这样结构的JSON数据......

{"Result":[
    {"Level":"ML","TeamName":"Team 1","League":"League 1"},
    {"Level":"ML","TeamName":"Team 2","League":"League 2"},
    {"Level":"ML","TeamName":"Team 3","League":"League 3"},
    {"Level":"3A","TeamName":"Team 4","League":"League 1"},
    {"Level":"3A","TeamName":"Team 5","League":"League 2"},
    {"Level":"3A","TeamName":"Team 6","League":"League 3"},
    {"Level":"2A","TeamName":"Team 7","League":"League 1"},
    {"Level":"2A","TeamName":"Team 8","League":"League 2"},
    {"Level":"2A","TeamName":"Team 9","League":"League 3"},
]}
Run Code Online (Sandbox Code Playgroud)

我想分组,或者像这样重组...

{"Result":[
    {"ML":[
        {"TeamName":"Team 1","League":"League 1"},
        {"TeamName":"Team 2","League":"League 2"},
        {"TeamName":"Team 3","League":"League 3"}
    ]},
    {"3A":[
        {"TeamName":"Team 4","League":"League 1"},
        {"TeamName":"Team 5","League":"League 2"},
        {"TeamName":"Team 6","League":"League 3"}
    ]},
    {"2A":[
        {"TeamName":"Team 7","League":"League 1"},
        {"TeamName":"Team 8","League":"League 2"},
        {"TeamName":"Team 9","League":"League 3"}
    ]}
]}
Run Code Online (Sandbox Code Playgroud)

我将如何使用Javascript/jQuery实现这一目标?不幸的是我无法编辑服务器发送给我的内容.

javascript jquery grouping distinct

18
推荐指数
1
解决办法
2万
查看次数

按对象值分组,计数然后按最大对象属性设置组密钥

我已经设法使用Java 8 Streams API编写解决方案,该解决方案首先按对象组合对象Route列表,然后计算每个组中对象的数量.它返回一个映射Route - > Long.这是代码:

Map<Route, Long> routesCounted = routes.stream()
                .collect(Collectors.groupingBy(gr -> gr, Collectors.counting()));
Run Code Online (Sandbox Code Playgroud)

而Route类:

public class Route implements Comparable<Route> {
    private long lastUpdated;
    private Cell startCell;
    private Cell endCell;
    private int dropOffSize;

    public Route(Cell startCell, Cell endCell, long lastUpdated) {
        this.startCell = startCell;
        this.endCell = endCell;
        this.lastUpdated = lastUpdated;
    }

    public long getLastUpdated() {
        return this.lastUpdated;
    }

    public void setLastUpdated(long lastUpdated) {
        this.lastUpdated = lastUpdated;
    }

    public Cell getStartCell() {
        return startCell;
    }

    public void setStartCell(Cell startCell) …
Run Code Online (Sandbox Code Playgroud)

java grouping java-8 java-stream

18
推荐指数
2
解决办法
1万
查看次数

手动链接GroupBy收藏家

我想把一个人的名单分组.一个人有一些属性,如姓名,国家,城镇,邮政编码等.我写了静态代码,非常有效:

Object groupedData = data.stream().collect(groupingBy(Person::getName, Collectors.groupingBy(Person::getCountry, Collectors.groupingBy(Person::getTown))));
Run Code Online (Sandbox Code Playgroud)

但问题是,这不是动态的.有时我想按名称和城镇分组,有时候按属性分组.我怎样才能做到这一点?非Java 8解决方案也是受欢迎的.

java grouping java-8 java-stream collectors

18
推荐指数
2
解决办法
837
查看次数

按Java中的字段名分组

我正在尝试按其字段(即Person.java)对Java对象进行分组

public class Person {
    String name;
    String surname;
    ....
}
Run Code Online (Sandbox Code Playgroud)

因此,如果我有n个 Person对象,那么让所有人将"David"命名为地图的最简单方法是Map<String, List<Person>> map;什么?

我在Google上发现了这个(但它没有编译),它似乎是我正在寻找的东西:http: //www.anzaan.com/2010/06/grouping-objects-using-objects-property/

java grouping dictionary

17
推荐指数
3
解决办法
3万
查看次数

基于php中的键组数组值?

我有一个像这样的数组:

$str=
   Array
(
    [No] => 101
    [Paper_id] => WE3P-1
    [Title] => "a1"
    [Author] => ABC
    [Aff_list] => "University of South Florida, Tampa, United States"
    [Abstracts] => "SLA"

)

Array
(
    [No] => 101
    [Paper_id] => WE3P-1
    [Title] => "a2"
    [Author] => DEF
    [Aff_list] => "University of South Florida, Tampa, United States"
    [Abstracts] => "SLA "

)

Array
(
    [No] => 104
    [Paper_id] => TU5A-3
    [Title] => "a3"
    [Author] => GHI
    [Aff_list] => "University of Alcala, Alcala de Henares, Spain" …
Run Code Online (Sandbox Code Playgroud)

php arrays merge grouping

17
推荐指数
2
解决办法
5万
查看次数

bash命令组:为什么花括号需要分号?

在bash中对命令进行分组时,我知道括号()和花括号之间的目的不同.{}

但是为什么花括号构造在最后一个命令后需要分号,而对于括号构造,分号是可选的?

$ while false; do ( echo "Hello"; echo "Goodbye"; ); done
$ while false; do ( echo "Hello"; echo "Goodbye" ); done
$ while false; do { echo "Hello"; echo "Goodbye"; }; done
$ while false; do { echo "Hello"; echo "Goodbye" }; done
bash: syntax error near unexpected token `done'
$ 

我正在寻找一些有关为何情况的见解.我不是在寻找诸如"因为文档说的那样""因为它是按照这种方式设计"的答案.我想知道为什么它的设计是这样的.或者,如果它只是一个历史文物?

至少在以下版本的可以观察到这种情况:

  • GNU bash,版本3.00.15(1)-release(x86_64-redhat-linux-gnu)
  • GNU bash,版本3.2.48(1)-release(x86_64-apple-darwin12)
  • GNU bash,版本4.2.25(1)-release(x86_64-pc-linux-gnu)

syntax bash grouping parentheses braces

17
推荐指数
1
解决办法
4991
查看次数

重新组合pandas df中的列值

我有一个script指派基于关闭两个值columns中的一个pandas df.下面的代码能够实现第一步,但我正在努力实现第二步.

所以脚本最初应该:

1)分配Person为每个单独的string[Area]与所述第一3 unique values[Place]

2)看看重新分配People少于3 unique values 示例.在df下面有6 unique values[Area][Place].但是3 People被分配了.理想情况下,每个2人都会2 unique values

d = ({
    'Time' : ['8:03:00','8:17:00','8:20:00','10:15:00','10:15:00','11:48:00','12:00:00','12:10:00'],                 
   'Place' : ['House 1','House 2','House 1','House 3','House 4','House 5','House 1','House 1'],                 
    'Area' : ['X','X','Y','X','X','X','X','X'],    
     })

df = pd.DataFrame(data=d)

def g(gps):
        s = gps['Place'].unique()
        d = dict(zip(s, np.arange(len(s)) // …
Run Code Online (Sandbox Code Playgroud)

python sorting grouping dataframe pandas

17
推荐指数
1
解决办法
1085
查看次数

在Java 8中限制groupBy

如何通过每个条目限制groupBy?

例如(基于此示例:stream groupBy):

studentClasses.add(new StudentClass("Kumar", 101, "Intro to Web"));
studentClasses.add(new StudentClass("White", 102, "Advanced Java"));
studentClasses.add(new StudentClass("Kumar", 101, "Intro to Cobol"));
studentClasses.add(new StudentClass("White", 101, "Intro to Web"));
studentClasses.add(new StudentClass("White", 102, "Advanced Web"));
studentClasses.add(new StudentClass("Sargent", 106, "Advanced Web"));
studentClasses.add(new StudentClass("Sargent", 103, "Advanced Web"));
studentClasses.add(new StudentClass("Sargent", 104, "Advanced Web"));
studentClasses.add(new StudentClass("Sargent", 105, "Advanced Web"));
Run Code Online (Sandbox Code Playgroud)

此方法返回简单组:

   Map<String, List<StudentClass>> groupByTeachers = studentClasses
            .stream().collect(
                    Collectors.groupingBy(StudentClass::getTeacher));
Run Code Online (Sandbox Code Playgroud)

如果我想限制返回的集合怎么办?让我们假设我只想要每个老师的前N个课程.怎么做到呢?

java grouping java-8 java-stream collectors

16
推荐指数
2
解决办法
3686
查看次数