diff --git a/src/PIL/IcnsImagePlugin.py b/src/PIL/IcnsImagePlugin.py
index 666fa1b1b..d30eaf90f 100644
--- a/src/PIL/IcnsImagePlugin.py
+++ b/src/PIL/IcnsImagePlugin.py
@@ -6,7 +6,7 @@
 #
 # history:
 # 2004-10-09 fl   Turned into a PIL plugin; removed 2.3 dependencies.
-# 2020-04-04 Allow saving on all operating systems.
+# 2020-04-04      Allow saving on all operating systems.
 #
 # Copyright (c) 2004 by Bob Ippolito.
 # Copyright (c) 2004 by Secret Labs.
@@ -131,6 +131,7 @@ def read_png_or_jpeg2000(fobj, start_length, size):
 
 
 class IcnsFile:
+
     SIZES = {
         (512, 512, 2): [(b"ic10", read_png_or_jpeg2000)],
         (512, 512, 1): [(b"ic09", read_png_or_jpeg2000)],
@@ -305,28 +306,38 @@ class IcnsImageFile(ImageFile.ImageFile):
 def _save(im, fp, filename):
     """
     Saves the image as a series of PNG files,
-    that are then converted to a .icns file
+    that are then combined into a .icns file.
     """
     if hasattr(fp, "flush"):
         fp.flush()
 
-    # Size
-    sizes = [128, 256, 512, 32, 64, 256, 512, 1024]
-    size_str = [b"ic07", b"ic08", b"ic09", b"ic11", b"ic12", b"ic13", b"ic14", b"ic10"]
-
+    sizes = {
+        b"ic07": 128,
+        b"ic08": 256,
+        b"ic09": 512,
+        b"ic10": 1024,
+        b"ic11": 32,
+        b"ic12": 64,
+        b"ic13": 256,
+        b"ic14": 512,
+    }
     provided_images = {im.width: im for im in im.encoderinfo.get("append_images", [])}
     size_streams = {}
-    for s in set(sizes):
-        image = provided_images[s] if s in provided_images else im.resize((s, s))
+    for size in set(sizes.values()):
+        image = (
+            provided_images[size]
+            if size in provided_images
+            else im.resize((size, size))
+        )
 
         temp = io.BytesIO()
         image.save(temp, "png")
-        size_streams[s] = temp.getvalue()
+        size_streams[size] = temp.getvalue()
 
     entries = []
-    for index, size in enumerate(sizes):
+    for type, size in sizes.items():
         stream = size_streams[size]
-        entries.append({"type": size_str[index], "size": len(stream), "stream": stream})
+        entries.append({"type": type, "size": len(stream), "stream": stream})
 
     # Header
     fp.write(MAGIC)