## Python difference between a list and multi-dimensional list

I need some help, the following is what I want:

list1 = [["a", "1"], ["b", "2"], ["c", "3"], ["d", "4"]] list2 = ["b", "c"] list3 = [] list1 - list2 = list3 print(list3) Expected Output: [["a", "1"], ["d", "4"]]

I know that you can do the following with one-dimensional lists:

list1 = ["a", "b", "c", "d"] list2 = ["b", "c"] list3 = list(set(list1) - set(list2)) print(list3) Output: ["a", "d"]

So, how do I do the above but with multi-dimensional lists and output of a multi-dimensional list as well?

You can try with list comprehension. Essentially what we are doing is, retaining the sublists from `list1`

that their first value (the character) does not exists in the values of list2:

list1 = [["a", "1"], ["b", "2"], ["c", "3"], ["d", "4"]] list2 = ["b", "c"] list3 = [item for item in list1 if item[0] not in list2] print(list3)

Output:

[['a', '1'], ['d', '4']]

However this is to solve this particular example with the particular data you provide. As explained in comments, working with dictionaries is recommended.

**Multi-dimensional lists in Python,** There can be more than one additional dimension to lists in Python. Keeping in mind that a list can hold other lists, that basic principle can be applied over and over. Multi-dimensional lists are the lists within lists. Usually, a dictionary will be the better choice rather than a multi-dimensional list in Python. There are various ways in which difference between two lists can be generated. In this article, we will see two most important ways in which this can be done. One by using the set() method, and another by not using it. In this method we convert the lists into sets explicitly and then simply reduce

Here's another answer using filter and a lambda function.

list1 = [["a", "1"], ["b", "2"], ["c", "3"], ["d", "4"]] list2 = ["b", "c"] list3 = [] list3 = list(filter(lambda x: x[0] not in list2, list1)) print(list3) # [["a", "1"], ["d", "4"]]

**Lesson 10 - Multidimensional lists in Python,** This tutorial goes over 2d lists and multidimensional arrays in general. Including Are you looking for a quick reference on multidimensional lists in Python instead of a thorough-full lesson? Both loops must have a different control variable:. List containing multiple values: Geeks Geeks Multi-Dimensional List: [['Geeks', 'For'], ['Geeks']] Dictionary in Python on the other hand is an unordered collection of data values, used to store data values like a map, which unlike other Data Types that hold only single value as an element, Dictionary holds key:value pair.

G. Anderson is right, it seems that you're in a good use case for dictionnaries.

If you'll stuck with this data structure (that *could* be the case if your inner lists can have more than 2 elements), you'll have to use **list comprehension**, this syntax is not supported out-of-the-box.

my suggestion

list1 = [["a", "1"], ["b", "2"], ["c", "3"], ["d", "4"]] ignored_keys = ['b', 'c'] list3 = [val for val in list1 if val[0] not in ignored_keys] print(list3) Output: [['a', '1'], ['d', '4']]

**Two-dimensional lists (arrays) - Learn Python 3,** In Python any table can be represented as a list of lists (a list, where each element is For example, that's how you display two-dimensional numerical list on the Thus, we can compare the values i and j , which determines the value of a[i][j] . Sometimes with numerical integration you will want to difference a list with periodic boundary conditions (so the first element calculates the difference to the last. In this case the numpy.roll function is helpful: v-np.roll(v,1) Solutions with zero prepended. Another numpy solution (just for completeness) is to use . numpy.ediff1d(v)

**Two-Dimensional Lists \ Tutorials,** Two-Dimensional Lists. This tutorial is for Processing's Python Mode. If you see any errors or have comments, please let us know. This tutorial is adapted from� Given list : [21, 14, 30, 11, 17, 18] Pairs with maximum difference are : [(30, 11), (14, 30)] With combinations and Max() Here we also take the same approach as above but we get one pair as a result because we apply the max function which gives us one pair as the result.

**Multi-dimensional lists Python Tutorial,** It can get very confusing very fast, but it is good to know that it is an option. Usually a Duration: 5:45
Posted: Dec 3, 2015 Python Set seems to be the most obvious choice to identify the common as well as the difference of two lists. So, we are going to explore it first and then will use nested loops and list comprehension.

The Key Difference between a List and a Tuple. The main difference between lists and tuples is the fact that lists are mutable whereas tuples are immutable. What does that even mean, you say? A mutable data type means that a python object of this type can be modified. An immutable object can’t. Let’s see what this means in action.

##### Comments

- Is there a reason you need to use lists? Because this is a perfect use case for a dictionary with key:value pairs
`list1`

can be seen as an association list. If the keys (the first elements of the sublists) are unique, you can create a mapping with`d = dict(list1)`

. Then you can remove the desired keys with, for example,`for k in list2: d.pop(k)`

.- Have you tried anything, done any research?
- you're right, thanks :) I forgot a bit in the comprehension part