Seebs usenet-nospam at
Tue Nov 9 00:32:58 CET 2010

I have an existing hunk of Makefile code:
	CPPFLAGS = "$(filter -D* -I* -i* -U*,$(TARGET_CFLAGS))"
For those not familiar with GNU makeisms, this means "assemble a string
which consists of all the words in $(TARGET_CFLAGS) which start with one
of -D, -I, -i, or -U".  So if you give it
	foo -Ibar baz
it'll say

I have a similar situation in a Python context, and I am wondering
whether this is an idiomatic spelling:

	' '.join([x for x in target_cflags.split() if re.match('^-[DIiU]', x)])

This appears to do the same thing, but is it an idiomatic use of list
comprehensions, or should I be breaking it out into more bits?

You will note that of course, I have carefully made it a one-liner so I
don't have to worry about indentation*.

[*] Kidding, I just thought this seemed like a pretty clear expression.
Copyright 2010, all wrongs reversed.  Peter Seebach / usenet-nospam at <-- lawsuits, religion, and funny pictures <-- get educated!
I am not speaking for my employer, although they do rent some of my opinions.

More information about the Python-list mailing list