On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions

## 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