====== List Comprehensions ======
**General Information**
List comprehensions are a way to create lists based on lists.
They cut out a step in which you would create an intermediate list just to create a new list.
**Checklist**
* Python 2 or 3
----
====== Usage ======
Using the code snippet.
chmod +x list-comp.py
./list-comp.py
# Example output
('The tuple is: ', ('centos', 'ubuntu', 'fedora', 'windows', 'arch', 'freebsd'))
('The nix os list is: ', ['centos', 'ubuntu', 'fedora', 'arch', 'freebsd'])
----
====== The Code ======
**List Comprehension Syntax**
new_list = [x for x in iterable if filter]
\\
**List Comprehension Example**
#!/usr/bin/python
# Tuple with a list of OS's
my_tuple = ('centos', 'ubuntu', 'fedora', 'windows', 'arch', 'freebsd')
# Create a new list based off of the tuple, exclude 'windows'
nix_os = [entry for entry in my_tuple if entry != 'windows']
print("The tuple is: ", my_tuple)
print("The nix os list is: ", nix_os)
\\
The long way **without list comprehensions** of the above code is
#!/usr/bin/python
# Tuple with a list of OS's
my_tuple = ('centos', 'ubuntu', 'fedora', 'windows', 'arch', 'freebsd')
# Create a new list based off of the tuple, exclude 'windows'
# This time, do not use a list comprehension
nix_os = []
for entry in my_tuple:
if entry != 'windows':
nix_os.append(entry)
print("The tuple is: ", my_tuple)
print("The nix os list is: ", nix_os)
----