diff --git a/pybis/src/python/pybis/pybis.py b/pybis/src/python/pybis/pybis.py
index 82ab19c6138bcb51844e344c259515f2acd4b3f5..f76cc4d81aa7de94599150996776b97b8a792933 100644
--- a/pybis/src/python/pybis/pybis.py
+++ b/pybis/src/python/pybis/pybis.py
@@ -244,9 +244,7 @@ def _tagIds_for_tags(tags=None, action="Add"):
     if not isinstance(tags, list):
         tags = [tags]
 
-    items = []
-    for tag in tags:
-        items.append({"code": tag, "@type": "as.dto.tag.id.TagCode"})
+    items = list(map(lambda tag: {"code": tag, "@type": "as.dto.tag.id.TagCode"}, tags))
 
     tagIds = {
         "actions": [
@@ -269,11 +267,7 @@ def _list_update(ids=None, entity=None, action="Add"):
     if not isinstance(ids, list):
         ids = [ids]
 
-    items = []
-    for ids in ids:
-        items.append(
-            {"code": ids, "@type": "as.dto.{}.id.{}Code".format(entity.lower(), entity)}
-        )
+    items = list(map(lambda id: {"code": id, "@type": "as.dto.{}.id.{}Code".format(entity.lower(), entity)}, ids))
 
     list_update = {
         "actions": [
@@ -385,10 +379,7 @@ def _gen_search_criteria(req):
     sreq = {}
     for key, val in req.items():
         if key == "criteria":
-            items = []
-            for item in req["criteria"]:
-                items.append(_gen_search_criteria(item))
-            sreq["criteria"] = items
+            sreq["criteria"] = list(map(lambda item: _gen_search_criteria(item), req["criteria"]))
         elif key == "code":
             sreq["criteria"] = [
                 _common_search("as.dto.common.search.CodeSearchCriteria", val.upper())
@@ -435,19 +426,15 @@ def _subcriteria_for_tags(tags):
     if not isinstance(tags, list):
         tags = [tags]
 
-    criteria = []
-    for tag in tags:
-        criteria.append(
-            {
-                "fieldName": "code",
-                "fieldType": "ATTRIBUTE",
-                "fieldValue": {
-                    "value": tag,
-                    "@type": "as.dto.common.search.StringEqualToValue",
-                },
-                "@type": "as.dto.common.search.CodeSearchCriteria",
-            }
-        )
+    criteria = list(map(lambda tag: {
+        "fieldName": "code",
+        "fieldType": "ATTRIBUTE",
+        "fieldValue": {
+            "value": tag,
+            "@type": "as.dto.common.search.StringEqualToValue",
+        },
+        "@type": "as.dto.common.search.CodeSearchCriteria",
+    }, tags))
 
     return {
         "@type": "as.dto.tag.search.TagSearchCriteria",
@@ -729,19 +716,15 @@ def _subcriteria_for_identifier(ids, entity, parents_or_children="", operator="A
     if not isinstance(ids, list):
         ids = [ids]
 
-    criteria = []
-    for id in ids:
-        criteria.append(
-            {
-                "@type": "as.dto.common.search.IdentifierSearchCriteria",
-                "fieldValue": {
-                    "value": id,
-                    "@type": "as.dto.common.search.StringEqualToValue",
-                },
-                "fieldType": "ATTRIBUTE",
-                "fieldName": "identifier",
-            }
-        )
+    criteria = list(map(lambda id: {
+        "@type": "as.dto.common.search.IdentifierSearchCriteria",
+        "fieldValue": {
+            "value": id,
+            "@type": "as.dto.common.search.StringEqualToValue",
+        },
+        "fieldType": "ATTRIBUTE",
+        "fieldName": "identifier",
+    }, ids))
 
     search_type = get_type_for_entity(entity, "search", parents_or_children)
     return {"criteria": criteria, **search_type, "operator": operator}
@@ -751,19 +734,15 @@ def _subcriteria_for_permid(permids, entity, parents_or_children="", operator="A
     if not isinstance(permids, list):
         permids = [permids]
 
-    criteria = []
-    for permid in permids:
-        criteria.append(
-            {
-                "@type": "as.dto.common.search.PermIdSearchCriteria",
-                "fieldValue": {
-                    "value": permid,
-                    "@type": "as.dto.common.search.StringEqualToValue",
-                },
-                "fieldType": "ATTRIBUTE",
-                "fieldName": "perm_id",
-            }
-        )
+    criteria = list(map(lambda permid: {
+        "@type": "as.dto.common.search.PermIdSearchCriteria",
+        "fieldValue": {
+            "value": permid,
+            "@type": "as.dto.common.search.StringEqualToValue",
+        },
+        "fieldType": "ATTRIBUTE",
+        "fieldName": "perm_id",
+    }, permids))
 
     search_type = get_type_for_entity(entity, "search", parents_or_children)
     return {"criteria": criteria, **search_type, "operator": operator}
@@ -773,19 +752,15 @@ def _subcriteria_for_permid_new(codes, entity, parents_or_children="", operator=
     if not isinstance(codes, list):
         codes = [codes]
 
-    criteria = []
-    for code in codes:
-        criteria.append(
-            {
-                "@type": "as.dto.common.search.PermIdSearchCriteria",
-                "fieldValue": {
-                    "value": code,
-                    "@type": "as.dto.common.search.StringEqualToValue",
-                },
-                "fieldType": "ATTRIBUTE",
-                "fieldName": "perm_id",
-            }
-        )
+    criteria = list(map(lambda code: {
+        "@type": "as.dto.common.search.PermIdSearchCriteria",
+        "fieldValue": {
+            "value": code,
+            "@type": "as.dto.common.search.StringEqualToValue",
+        },
+        "fieldType": "ATTRIBUTE",
+        "fieldName": "perm_id",
+    }, codes))
 
     search_type = get_type_for_entity(entity, "search", parents_or_children)
     return {"criteria": criteria, **search_type, "operator": operator}
@@ -795,19 +770,15 @@ def _subcriteria_for_code_new(codes, entity, parents_or_children="", operator="A
     if not isinstance(codes, list):
         codes = [codes]
 
-    criteria = []
-    for code in codes:
-        criteria.append(
-            {
-                "@type": "as.dto.common.search.CodeSearchCriteria",
-                "fieldValue": {
-                    "value": code,
-                    "@type": "as.dto.common.search.StringEqualToValue",
-                },
-                "fieldType": "ATTRIBUTE",
-                "fieldName": "code",
-            }
-        )
+    criteria = list(map(lambda code: {
+        "@type": "as.dto.common.search.CodeSearchCriteria",
+        "fieldValue": {
+            "value": code,
+            "@type": "as.dto.common.search.StringEqualToValue",
+        },
+        "fieldType": "ATTRIBUTE",
+        "fieldName": "code",
+    }, codes))
 
     search_type = get_type_for_entity(entity, "search", parents_or_children)
     return {"criteria": criteria, **search_type, "operator": operator}
@@ -2303,12 +2274,9 @@ class Openbis:
             else:
                 properties = {**where, **properties}
         if properties is not None:
-            for prop in properties:
-                sub_criteria.append(
-                    _subcriteria_for_properties(
-                        prop, properties[prop], entity="experiment"
-                    )
-                )
+            sub_criteria.extend(list(map(
+                lambda prop: _subcriteria_for_properties(prop, properties[prop], entity="experiment"), properties
+            )))
 
         search_criteria = get_search_type_for_entity("experiment")
         search_criteria["criteria"] = sub_criteria
@@ -2405,7 +2373,6 @@ class Openbis:
 
                         display_attrs += set(columns)
                         continue
-
                     else:
                         # property name is provided
                         for i, experiment in enumerate(response):
@@ -2529,12 +2496,9 @@ class Openbis:
                 properties = {**where, **properties}
 
         if properties is not None:
-            for prop in properties:
-                sub_criteria.append(
-                    _subcriteria_for_properties(
-                        prop, properties[prop], entity="dataset"
-                    )
-                )
+            sub_criteria.extend(list(map(
+                lambda prop: _subcriteria_for_properties(prop, properties[prop], entity="dataset"), properties
+            )))
 
         search_criteria = get_search_type_for_entity("dataset")
         search_criteria["criteria"] = sub_criteria
@@ -4368,10 +4332,6 @@ class Openbis:
 
         logger.debug(f"_sample_list_for_response got response. Delay: {time2 - time1}")
 
-        # dataFrame = None
-        # if thingsFetchOptions["withDataFrame"]:
-        #     dataFrame = self.__create_data_frame(attrs, props, response)
-
         time6 = now()
         logger.debug("_sample_list_for_response computing result.")