summaryrefslogtreecommitdiff
path: root/modules/language/python/dict.scm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/dict.scm')
-rw-r--r--modules/language/python/dict.scm18
1 files changed, 16 insertions, 2 deletions
diff --git a/modules/language/python/dict.scm b/modules/language/python/dict.scm
index be857ba..9eb698d 100644
--- a/modules/language/python/dict.scm
+++ b/modules/language/python/dict.scm
@@ -651,7 +651,7 @@
(define __setitem__
(lambda (self k v)
(pylist-set! (ref self '_dict) (norm k) v)))
-
+
(define __iter__
(lambda (self)
((make-generator ()
@@ -688,7 +688,21 @@
(for ((k v : (ref self '_dict))) ((l '()))
(cons (list (renorm k) v) l)
#:final (reverse l))))
-
+
+ (define keys
+ (lambda (self)
+ (for ((k v : self)) ((l '()))
+ (cons (renorm k) l)
+ #:final
+ l)))
+
+ (define values
+ (lambda (self)
+ (for ((k v : self)) ((l '()))
+ (cons v l)
+ #:final
+ l)))
+
(define __repr__
(lambda (self)
(for ((k v : (ref self '_dict))) ((l '()))