# Find distance between the closest 3D points

## R, 34 bytes

```
function(...)min(dist(rbind(...)))
```

Try it online!

This is a nice opportunity to use R's `...`

syntax to define a function that can accept a variable number of arguments; in this case, the `x,y,z`

coordinates of each point.

The `dist`

function calculates the pairwise distance between all rows of a matrix, using a chosen method - luckily, the default is 'euclidean' and so isn't specified in this case.

Of course, it could be even shorter if we allow the input to already be combined-together as a matrix, but this wouldn't be so neat...

## R, 23 bytes

```
function(m)min(dist(m))
```

Try it online!

## Wolfram Language (Mathematica), 33 bytes

```
Min[Norm[#-#2]&@@@#~Subsets~{2}]&
```

Try it online!

## Python 3, ^{106 95} 93 bytes

Saved 11 bytes thanks to fireflame241!!!

Saved 2 bytes thanks to Jonathan Allan!!!

```
lambda l:min(sum((a-b)**2for a,b in zip(l[p],v))**.5for q,v in enumerate(l)for p in range(q))
```

Try it online!

Inputs a list of points as tuples and returns the Euclidean distance between the two closest points.

Works with points of any dimension so long as they are consistent within the list.