목록이 A이고 [('a', 3), ('b', 0), ('c',0)]
이고 ('b',0)
을 ('b', 13)
으로 바꾸고 싶습니다. 새 목록 B, [('a', 3), ('b', 13), ('c',0)]
을 반환하십시오. 내가 어떻게이 일을 할 수 있니?튜플 목록에서 두 번째 튜플 값을 대체하십시오.
덕분에 당신은 단지 당신이 map
사용할 수 있습니다 ('b', 0)
의 모든 발행 수를 바꾸려면
목록이 A이고 [('a', 3), ('b', 0), ('c',0)]
이고 ('b',0)
을 ('b', 13)
으로 바꾸고 싶습니다. 새 목록 B, [('a', 3), ('b', 13), ('c',0)]
을 반환하십시오. 내가 어떻게이 일을 할 수 있니?튜플 목록에서 두 번째 튜플 값을 대체하십시오.
덕분에 당신은 단지 당신이 map
사용할 수 있습니다 ('b', 0)
의 모든 발행 수를 바꾸려면
: 첫 번째 요소는 다음 'B'당신이 경우 두 번째 값을 바꾸려면
b = map (\p -> if p == ('b', 0) then ('b', 13) else p) a
을 할 수 있습니다 :
map (\[email protected](f, _) -> if f == 'b' then ('b', 13) else p) l
다음과 같이 할 수도 있습니다.
set :: (Char,Int) -> [(Char,Int)] -> [(Char,Int)]
set (k,v) [] = []
set (k,v) (t:ts) | k == fst t = (k,v) : ts
| otherwise = t : set (k,v) ts
이 질문은 연구 노력을 보이지 않습니다. [좋은 질문을하는 법] (http://stackoverflow.com/questions/how-to-ask)을 읽어보십시오. – crockeea