diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index f5613ba..98d5c91 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -102,7 +102,7 @@
 
 	def validate_alternative_items(self):
 		items_with_alternatives = filter(lambda item: not item.is_alternative, self.get("items"))
-		items_with_alternatives = map(lambda item: item.item_code, items_with_alternatives)
+		items_with_alternatives = list(map(lambda item: item.item_code, items_with_alternatives))
 
 		alternative_items = filter(lambda item: item.is_alternative, self.get("items"))
 		for row in alternative_items:
@@ -114,7 +114,6 @@
 					title=_("Invalid Item"),
 				)
 
-
 	def update_opportunity(self, status):
 		for opportunity in set(d.prevdoc_docname for d in self.get("items")):
 			if opportunity:
@@ -227,7 +226,8 @@
 	)
 
 	alternative_map = {
-		x.get("original_item") : x.get("alternative_item") for x in frappe.flags.get("args", {}).get("mapping", [])
+		x.get("original_item"): x.get("alternative_item")
+		for x in frappe.flags.get("args", {}).get("mapping", [])
 	}
 
 	def set_missing_values(source, target):
@@ -253,7 +253,7 @@
 			target.blanket_order = obj.blanket_order
 			target.blanket_order_rate = obj.blanket_order_rate
 
-	def can_map_row(item) ->  bool:
+	def can_map_row(item) -> bool:
 		"""
 		Row mapping from Quotation to Sales order:
 		1. Simple row: Map if adequate qty
@@ -275,7 +275,6 @@
 			is_selected = alternative_map.get(item.item_code) is None
 		return is_selected and has_qty
 
-
 	doclist = get_mapped_doc(
 		"Quotation",
 		source_name,
