How to split a long python one-liner? [duplicate] - python

This question already has answers here:
Is it possible to break a long line to multiple lines in Python? [duplicate]
(7 answers)
Closed 5 years ago.
I have a long line that pylint is complaining is breaking pep8 E501
count_approvers = self.leave_not_required_user.company.leave_approvers.count()
How can I split this over 2 lines?

Configure your pylint for length of line. Or you can use '\' after '='
count_approvers = \
self.leave_not_required_user.company.leave_approvers.count()

You could use a temporary alias, if you may:
company = self.leave_not_required_user.company
count_approvers = company.leave_approvers.count()

Related

Difference detween line.rstrip("\n") and line.rstrip(os.linesep)? [duplicate]

This question already has answers here:
How can I remove a trailing newline?
(27 answers)
What is os.linesep for?
(2 answers)
Closed 1 year ago.
Real quick question, what is the difference between line.strip("\n") and line.rstrip(os.linesep)? Especially, when using them in the Fasta file and other bioinformatics fields.
line.strip("\n") removes the new-line character for UNIX and UNIX-like OSs. On the other side, line.strip(os.linesep) would automatically change to the correct new-line character for your current operation system (Mac OS, Linux, Windows, etc)

How to get rid of "+" in a line? [duplicate]

This question already has answers here:
Why doesn't calling a string method (such as .replace or .strip) modify (mutate) the string?
(3 answers)
Closed 3 years ago.
I have the txt file below and I want the remove the "+" if there is a + in front of the number.
+905061459318
+905458507534
+905437335094
I have tried almost all of the solutions that exist in Stackoverflow but still, I cannot remove the + from the line.
The code is here.
with open("numbers.txt") as f:
lines = [line.rstrip('\n') for line in open("numbers.txt")]
for line in lines:
if line.startswith("+"):
line.replace("+","")
else:
pass
You already have line.rstrip('\n'). Make that line.rstrip('\n').lstrip('+').

How to write long arithmetic expressions in several lines in python? [duplicate]

This question already has answers here:
How can I do a line break (line continuation) in Python?
(10 answers)
Closed 4 years ago.
I have a long expression, its' not fitting in my screen, I want to write in several lines.
new_matrix[row][element] = old_matrix[top_i][top_j]+old_matrix[index_i][element]+old_matrix[row][index_j]+old_matrix[row][index_j]
Python gives me 'indent' error if I just break line.
Is there way to 'fit' long expression in screen?
I hate backslashes, so I prefer to enclose the right hand side in parens, and break/indent on the top-level operators:
new_matrix[row][element] = (old_matrix[top_i][top_j]
+ old_matrix[index_i][element]
+ old_matrix[row][index_j]
+ old_matrix[row][index_j])
You can break expressions into multiple lines by ending each line with \ to indicate the expression will continue on the next line.
Example:
new_matrix[row][element] = old_matrix[top_i][top_j]+ \
old_matrix[index_i][element]+old_matrix[row][index_j]+ \
old_matrix[row][index_j]
Yes, use \:
new_matrix[row][element] = old_matrix[top_i][top_j]+old_matrix[index_i]\
[element]+old_matrix[row][index_j]+old_matrix[row][index_j]

python split regex into multiple lines [duplicate]

This question already has answers here:
How to split long regular expression rules to multiple lines in Python
(6 answers)
Closed 4 years ago.
Just a simple question. Lets say i have a very long regex.
regex = "(foo|foo|foo|foo|bar|bar|bar)"
Now i want to split this regex into multiple lines. I tried
regex = "(foo|foo|foo|foo|\
bar|bar|bar)"
but this doesnt seems to work. I get different outputs. Any ideas?
Just do it like this
regex = "(foo|foo|foo|foo" \
"|bar|bar|bar)"

Why is this split method not working correctly? [duplicate]

This question already has answers here:
why is python string split() not splitting
(3 answers)
Closed 6 years ago.
I'm trying to split
<team>
into just team, here is the code I'm using:
s = "<team>"
s.split(">")[1]
s
'<team>'
s.split(">")[1].split("<")[0]
s
'<team>
As you can see, it's still leaving me with
<team>
anyone know why>
str.split() function returns a list, it does not split the string in place.
You'll need to make a new variable:
s = "<team>"
t = s.split(">")[1]
t

Categories

Resources