Для достижения этой цели вы можете использовать функцию stream()
для Java 8:
usersInSpecificProject.addAll(allUsers.stream()
.filter(u -> u.getProjects().stream().map(Project::getId)
.anyMatch(projId-> projId.equals(projectId)))
.collect(Collectors.toList()));
Вот ссылка на документацию о том, как stream()
работает.
pandas
представляет удобное решение:
import pandas as pd
import numpy as np
df=pd.DataFrame(myarray, columns=["x", "y"])
df["Section"]=df.index
df.to_json(orient="records")
это дает:
'[{"x":148,"y":362,"Section":0},{"x":153,"y":403,"Section":1},
{"x":163,"y":443,"Section":2},{"x":172,"y":483,"Section":3},
{"x":186,"y":521,"Section":4},{"x":210,"y":553,"Section":5},
{"x":239,"y":581,"Section":6},{"x":273,"y":604,"Section":7},
{"x":314,"y":611,"Section":8},{"x":353,"y":602,"Section":9}]'
Решение немного отличается, но вы можете легко найти свой путь в чистом Python превратить его в вашу структуру.
Если ваш входной массив равен arr
, я считаю, что вы хотите что-то вроде:
[{'section': i+1, 'x': x[0], 'y': x[1]} for i, x in enumerate(arr) if i in [2, 6, 9]]
[2, 6, 9] - ваши [3, 7, 10] позиции, только начиная с 0.
Чтобы добавить ответ Андрея, я полагаю, что вы можете также распаковать массивы, чтобы сделать его немного чище:
[{'section': i+1, 'x': x, 'y': y} for i, [x, y] in enumerate(myarray) if i in [2, 6, 9]]