-1

I have a list of tuples like so below:

[('/home/david/Git_Stuff/rac/', '0.9.0'), ('/home/david/Git_Stuff/racingpost/', ''), ('/home/david/Git_Stuff/trading_horseracing/', '')]
[('/home/david/Git_Stuff/rac/', '0.9.0'), ('/home/david/Git_Stuff/racingpost/', ''), ('/home/david/Git_Stuff/trading_horseracing/', '')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/International/', ''), ('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/ios/', '1.3.0')]
[('/home/david/Git_Stuff/ios/', '1.3.0')]

What I want to do is only print the tuple where the second item is not blank

So the output would appear like so:


[('/home/david/Git_Stuff/rac/', '0.9.0')]
[('/home/david/Git_Stuff/rac/', '0.9.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/apache_gaming/', '5.6.0')]
[('/home/david/Git_Stuff/ios/', '1.3.0')]
[('/home/david/Git_Stuff/ios/', '1.3.0')]

I have tried using an if statement where an item is not blank and using LEN to make sure string length is higher than 0 but this will only take affect on the first tuple in the list and if I tried this again on the second tuple it would return out of range where there is only one.

Is there a better way to do this?

Thanks

2 Answers2

2

Use a list comprehension :

if/else in a list comprehension?

in your case :

strippedList = [x for x in list if x[1] != '']
chepner
  • 497,756
  • 71
  • 530
  • 681
foudian1
  • 111
  • 3
1

Restrict your lists like this

a = [('toto',''), ('babar', 'x') , ('ursule','')]
b = [_ for _ in a if _[1]] # b is now [('babar', 'x')]
jpaul
  • 309
  • 1
  • 5