                On-line Guides All Guides eBook Store iOS / Android Linux for Beginners Office Productivity Linux Installation Linux Security Linux Utilities Linux Virtualization Linux Kernel System/Network Admin Programming Scripting Languages Development Tools Web Development GUI Toolkits/Desktop Databases Mail Systems openSolaris Eclipse Documentation Techotopia.com Virtuatopia.com How To Guides Virtualization General System Admin Linux Security Linux Filesystems Web Servers Graphics & Desktop PC Hardware Windows Problem Solutions Privacy Policy  ## Set Comparison Operators

Therera re a number of `set` comparisons. All of the standard comparisons (`<`, `<=`, `>`, `>=`, `==`, `!=`, in , not in ) work with `set`s, but the interpretation of the operators is based on `set` theory. For example, the comparisons determine if we have subset or superset (`<=`, `>=`) relationships between two `set`s.

The basic in and not in operators are the basic membership tests. For example, the `set` `craps` is all of the ways we can roll craps on a come out roll. We've modeled a throw of the dice as a 2-`tuple`. We can now test a specific throw to see if it is craps.

````>>>`
`craps= set( [ (1,1), (2,1), (1,2), (6,6) ] )`

`>>>`
`(1,2) in craps`

`True`
`>>>`
`(3,4) in craps`

`False`
```

The ordering operators (`<`, `<=`, `>`, `>=`) comoare two `set`s to determine their superset or subset relationship. These operators reflect the two definitions of subset (and superset). S1 is a subset of S2 if every element of S1 is in S2. The basic subset test is the `<=` operator; it says nothing about "extra" elements in S2. S1 is a proper subset of S2 if every element of S1 is in S2 and S2 has at least one additional element, not in S1. The proper subset test is the `<` operator.

Here we've defined `three` to hold both of the dice rolls that total 3. When we compare `three` with `craps`, we see the expected relationships: `three` is a subset `craps` as well as a proper subset of `craps`.

````>>>`
`three= set( [ (2,1), (1,2) ] )`

`>>>`
`three < craps`

`True`
`>>>`
`three <= craps`

`True`
`>>>`
`craps <= craps`

`True`
`>>>`
`craps < craps`

`False`
```

We can also see that any given `set` is a subset of itself, but is never a proper subset of itself. Published under the terms of the Open Publication License Design by Interspire