In that case you can use mapv:

(mapv
  (fn [xs]
    (mapv
      (fn [x]
        (if (= x "5")
          "XX"
          x))
      xs))
  players)


Two notes:
1. There is room for optimization if you only want to map one element. This 
currently will just keep going. A smart implementation could bail out of 
the inner loop
2. If this is something you want to do frequently you may want to use 
different data structures (probably a map) that allow you to access 
elements fast.

If you sketch your access and transform patterns then I'm sure we can 
recommend a better way.



On Thursday, December 8, 2016 at 11:13:42 AM UTC+1, Rickesh Bedia wrote:
>
> Is there a way to generalise?
>
> I.e a function that allows you to swap any of the 1-9?
>
> On Wednesday, 7 December 2016 18:06:19 UTC, Andy- wrote:
>>
>> One option is to use keep-indexed:
>>
>> (first
>>   (keep-indexed
>>     (fn [i xs]
>>       (first
>>         (keep-indexed
>>           (fn [j x]
>>             (when (= x "5")
>>               [i j]))
>>           xs)))
>>     players))
>>
>>
>>
>> On Wednesday, December 7, 2016 at 5:32:10 PM UTC+1, Rickesh Bedia wrote:
>>>
>>> If I have 
>>>
>>>     (def players [["1" "2" "3"] ["4" "5" "6"] ["7" "8" "9"]])
>>>
>>> How would I get the index of number 5? I think it should be [1 1] but 
>>> don't know how to get this
>>>
>>> If it were more simple such as
>>>
>>>     (def players ["1" "2" "3"])
>>>
>>> I can get the index using
>>>
>>>     (.indexOf players "2") > 1
>>>     (.indexOf players "3") > 2
>>>
>>>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to