2016-04-26 3 views
2

у меня есть этот простой D-Fn в Dyalog:Фильтрация строк по значению столбца

{⍺,≢⍵} ⌸ 'koala'

, который возвращает:

k 1 
o 1 
a 2 
l 1 

Я хочу, чтобы отфильтровать строки из результирующего массива, так что (например, для значения фильтра = 2), я бы получил:

a 2 
l 1 

В целом, я бы хотел знать, как работать с n-м столбцом 2D-массива в APL.

+0

Если мой ответ ответил на ваш вопрос, не могли бы вы рассказать. принять его (отметьте ckeckmark рядом с ответом), так что вопрос больше не отображается как 'Open'.? Если он не ответил, вы можете использовать PLS. уточнить вопрос? – MBaas

+0

Конечно, извините за задержку. – syntagma

+0

Отлично - спасибо. – MBaas

ответ

2

Ваш ожидаемый ответ также показывает, что вы хотите видеть строку с l/1 - это правильно?

Предполагая, что вы действительно после строк, где 2-й столбцы = 2, можно фильтровать с другой DFN:

 {(⍵[;2]=2)⌿⍵}{⍺,≢⍵} ⌸ 'koala' 
a 2 

Что касается общей части вопроса, я надеюсь, что использование индексации [;2] отвечает на вопрос, в противном случае мне понадобится еще несколько слов ;-)

Смежные вопросы