On 9/28/18 2:00 PM, Chris Green wrote:
I have a list created by:-
fld = shlex.split(ln)
It may contain 3, 4 or 5 entries according to data read into ln.
What's the neatest way of setting the fourth and fifth entries to an
empty string if they don't (yet) exist? Using 'if len(fld) < 4:' feels
clumsy somehow.
Do you care whether there are more than 5 entries in the list? If not,
then just add two empty strings to the end of the list:
fld.extend(["", ""])
If fld already contained 5 entries, then the extra two empty strings may
or may not affect the subsequent logic. If possible extra entries
bother you, then truncate the list:
fld = (fld + ["", ""])[:5]
Or add empty strings as long as the list contains 5 entries:
while len(fld) < 5:
fld.append("")
Which one is "better" or "best"? Your call, depending on what your
criteria are. I think the last one expresses the intent the most
clearly, but YMMV.
--
https://mail.python.org/mailman/listinfo/python-list