###### tags: `leetcode`
# 937. Reorder Data in Log Files
:::info
To write a tuple containing a single value you have to include a comma, even though there is only one value
```python=
tup1 = (50,)
```
york: make sense. otherwise we will confuse between `(50,)` and `(50)`
:::
```python=
class Solution:
def reorderLogFiles(self, logs: List[str]) -> List[str]:
def f(log):
id_, rest = log.split(" ", 1) # use " " to split once
if rest[0].isalpha(): # if it is a letter-log
return (0, rest, id_) # use content to sort, if the same, use id_ to sort
else: # if it is a digit-log
return (1,) # Digit-logs come after letter-logs, being in-place
return sorted(logs, key = f)
```
## empty is smaller
```python=
sorted([(), (1,)])
[(), (1,)]
sorted([(1,), ()])
[(), (1,)]
```
```python=
sorted([('a',), ()])
[(), ('a',)]
sorted([(), ('a',)])
[(), ('a',)]
```