tree 38b5a6d735bab45e777f7ba812fa75480eb518a8
parent 549dfc93fb7e3d6d8566064a60a6069deae5c8eb
author Masayuki Igawa <masayuki@igawa.me> 1491812522 +0900
committer Masayuki Igawa <masayuki@igawa.me> 1492408984 +0900
gpgsig -----BEGIN PGP SIGNATURE-----
 Comment: GPGTools - https://gpgtools.org
 
 iQIcBAABCgAGBQJY9FvWAAoJECUczekFOFDk3/UQAK7ES8A0FoKrFn/OdWgXju6b
 33DRjbAa52481+IcB6pBgaJwHuhDlPr/STgN4WT94K///x1Xx2kZ21oc3bDNxta6
 n4JCleG7sqQcAAivVpyClW6enI7SP3OxEwalShk8zGfPNaGh6Ov0rrX/Du4PACKL
 F+Ag1Zjrx8evCIh6UJJYigDQYyhdKdXB49cvqxCUIeFZW1WqIVBjln0TYwpc4E91
 po+3jPF/pE2Wj7gZbSAv4Z+tOjLxwFAvnEx9gihOuOb1E0E5KE8BHv65/Kd+Rjca
 Mo8M8o4d0qWRVnXkm8uoKJ6HDRh4xoe8ouGeoHG635+w7jFQeXgpIpgT9wFdti88
 nhpKNj9D2kVgXkmjLpP/CYZs1TxaWmlL210ywb938pHz72uilhpQx8G9HkP8oYtf
 m2Z7yjG8Mg0F0KNv2svQ7TOKa+zSyITfFUDgMJ7yal5gKpgPOI/KBFQYBVVkluey
 zcLHF39GxT+a3nH+iuynmjOwmXnueWK1oHZIZQK6gFN/sMA/h0rV3lMllggM1+VT
 kxJwoJhlyOE5FO60jw0uwCbpzBB97s4tbNoeDwgMzkHne0H4UrkbJhZOyQ0uMtEF
 AwCsrnbAy+BBe7o2q3vbFj1LzgjDEF33e/lDU/JbDOFx/2iE8Y4UIy9IaY/uWzgu
 xFmvjGW+BBTQh40wvh/p
 =Vlgk
 -----END PGP SIGNATURE-----

Use sequence directly instead of using len()

This commit makes to use sequence directly instead of using
len(SEQUENCE). The original code works correctly, and it's really
straight forward. However, PEP8 recommends like below[1]. And it
makes code more simple, too.

```
For sequences, (strings, lists, tuples), use the fact that empty
sequences are false.

Yes: if not seq:
     if seq:

No: if len(seq):
    if not len(seq):
```

[1] https://www.python.org/dev/peps/pep-0008/#programming-recommendations

Change-Id: I8d41e16d82b1b3860a98e5217cb7a541fc83b907
