NumPy arrays can be created from Python lists by passing the list to the np.array() method. NumPy arrays differ from lists in that elements are stored contiguously in memory without comma separators. Multi-dimensional arrays can be created from nested lists. NumPy array attributes like shape and ndim provide information about array dimensions and elements. Individual elements can be accessed using indexes, and whole arrays or subsets of arrays can undergo vectorized operations for efficient processing.