Python: list comprehension with boolean as return value
B
is a quadratic matrix of size k
.
I tried the following code
if [x for x in range(k) if B[x,1] == 1]:
to get:
For the first x
in range(k-1)
, for which B[x,1] == 1
, stop the for-loop and return true
, such that the if-statement can be executed. If there is no such x
, then return false
and go on in the following code.
python python-3.x for-loop if-statement list-comprehension
add a comment |
B
is a quadratic matrix of size k
.
I tried the following code
if [x for x in range(k) if B[x,1] == 1]:
to get:
For the first x
in range(k-1)
, for which B[x,1] == 1
, stop the for-loop and return true
, such that the if-statement can be executed. If there is no such x
, then return false
and go on in the following code.
python python-3.x for-loop if-statement list-comprehension
2
What's aquadratic matrix of size k
? Can you provide a Minimal, Complete, and Verifiable example?
– jpp
Nov 12 '18 at 16:12
Use list comprehension only if you're interested in creating a list.
– Austin
Nov 12 '18 at 16:13
add a comment |
B
is a quadratic matrix of size k
.
I tried the following code
if [x for x in range(k) if B[x,1] == 1]:
to get:
For the first x
in range(k-1)
, for which B[x,1] == 1
, stop the for-loop and return true
, such that the if-statement can be executed. If there is no such x
, then return false
and go on in the following code.
python python-3.x for-loop if-statement list-comprehension
B
is a quadratic matrix of size k
.
I tried the following code
if [x for x in range(k) if B[x,1] == 1]:
to get:
For the first x
in range(k-1)
, for which B[x,1] == 1
, stop the for-loop and return true
, such that the if-statement can be executed. If there is no such x
, then return false
and go on in the following code.
python python-3.x for-loop if-statement list-comprehension
python python-3.x for-loop if-statement list-comprehension
asked Nov 12 '18 at 16:11
user4309user4309
133
133
2
What's aquadratic matrix of size k
? Can you provide a Minimal, Complete, and Verifiable example?
– jpp
Nov 12 '18 at 16:12
Use list comprehension only if you're interested in creating a list.
– Austin
Nov 12 '18 at 16:13
add a comment |
2
What's aquadratic matrix of size k
? Can you provide a Minimal, Complete, and Verifiable example?
– jpp
Nov 12 '18 at 16:12
Use list comprehension only if you're interested in creating a list.
– Austin
Nov 12 '18 at 16:13
2
2
What's a
quadratic matrix of size k
? Can you provide a Minimal, Complete, and Verifiable example?– jpp
Nov 12 '18 at 16:12
What's a
quadratic matrix of size k
? Can you provide a Minimal, Complete, and Verifiable example?– jpp
Nov 12 '18 at 16:12
Use list comprehension only if you're interested in creating a list.
– Austin
Nov 12 '18 at 16:13
Use list comprehension only if you're interested in creating a list.
– Austin
Nov 12 '18 at 16:13
add a comment |
2 Answers
2
active
oldest
votes
Looks like you want any()
:
if any(B[x,1] == 1 for x in range(k)):
Does the for-loop stop as soon as the condition is fulfilled for the first x?
– user4309
Nov 12 '18 at 16:21
@user4309 Yesany()
will do exactly that.
– arshajii
Nov 12 '18 at 16:21
add a comment |
arshajii's answer is probably right, but if you also want to have the value of the first x
fulfilling your condition you could do:
try:
x = next(x for x in range(k) if B[x, 1] == 1)
# Do something with x
except StopIteration:
# Do something else
EDIT: Better yet, thanks @arshajii:
x = next(x for x in range(k) if B[x, 1] == 1, None)
if x is not None:
# Do something with x
else:
# Do something else
You can also usex = next((x for x in range(k) if B[x, 1] == 1), None)
then check ifx
isNone
instead of catching an exception.
– arshajii
Nov 12 '18 at 16:35
@arshajii I always forget about that one and it's so much better, thanks!
– jdehesa
Nov 12 '18 at 16:37
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53266015%2fpython-list-comprehension-with-boolean-as-return-value%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Looks like you want any()
:
if any(B[x,1] == 1 for x in range(k)):
Does the for-loop stop as soon as the condition is fulfilled for the first x?
– user4309
Nov 12 '18 at 16:21
@user4309 Yesany()
will do exactly that.
– arshajii
Nov 12 '18 at 16:21
add a comment |
Looks like you want any()
:
if any(B[x,1] == 1 for x in range(k)):
Does the for-loop stop as soon as the condition is fulfilled for the first x?
– user4309
Nov 12 '18 at 16:21
@user4309 Yesany()
will do exactly that.
– arshajii
Nov 12 '18 at 16:21
add a comment |
Looks like you want any()
:
if any(B[x,1] == 1 for x in range(k)):
Looks like you want any()
:
if any(B[x,1] == 1 for x in range(k)):
answered Nov 12 '18 at 16:13
arshajiiarshajii
101k18180250
101k18180250
Does the for-loop stop as soon as the condition is fulfilled for the first x?
– user4309
Nov 12 '18 at 16:21
@user4309 Yesany()
will do exactly that.
– arshajii
Nov 12 '18 at 16:21
add a comment |
Does the for-loop stop as soon as the condition is fulfilled for the first x?
– user4309
Nov 12 '18 at 16:21
@user4309 Yesany()
will do exactly that.
– arshajii
Nov 12 '18 at 16:21
Does the for-loop stop as soon as the condition is fulfilled for the first x?
– user4309
Nov 12 '18 at 16:21
Does the for-loop stop as soon as the condition is fulfilled for the first x?
– user4309
Nov 12 '18 at 16:21
@user4309 Yes
any()
will do exactly that.– arshajii
Nov 12 '18 at 16:21
@user4309 Yes
any()
will do exactly that.– arshajii
Nov 12 '18 at 16:21
add a comment |
arshajii's answer is probably right, but if you also want to have the value of the first x
fulfilling your condition you could do:
try:
x = next(x for x in range(k) if B[x, 1] == 1)
# Do something with x
except StopIteration:
# Do something else
EDIT: Better yet, thanks @arshajii:
x = next(x for x in range(k) if B[x, 1] == 1, None)
if x is not None:
# Do something with x
else:
# Do something else
You can also usex = next((x for x in range(k) if B[x, 1] == 1), None)
then check ifx
isNone
instead of catching an exception.
– arshajii
Nov 12 '18 at 16:35
@arshajii I always forget about that one and it's so much better, thanks!
– jdehesa
Nov 12 '18 at 16:37
add a comment |
arshajii's answer is probably right, but if you also want to have the value of the first x
fulfilling your condition you could do:
try:
x = next(x for x in range(k) if B[x, 1] == 1)
# Do something with x
except StopIteration:
# Do something else
EDIT: Better yet, thanks @arshajii:
x = next(x for x in range(k) if B[x, 1] == 1, None)
if x is not None:
# Do something with x
else:
# Do something else
You can also usex = next((x for x in range(k) if B[x, 1] == 1), None)
then check ifx
isNone
instead of catching an exception.
– arshajii
Nov 12 '18 at 16:35
@arshajii I always forget about that one and it's so much better, thanks!
– jdehesa
Nov 12 '18 at 16:37
add a comment |
arshajii's answer is probably right, but if you also want to have the value of the first x
fulfilling your condition you could do:
try:
x = next(x for x in range(k) if B[x, 1] == 1)
# Do something with x
except StopIteration:
# Do something else
EDIT: Better yet, thanks @arshajii:
x = next(x for x in range(k) if B[x, 1] == 1, None)
if x is not None:
# Do something with x
else:
# Do something else
arshajii's answer is probably right, but if you also want to have the value of the first x
fulfilling your condition you could do:
try:
x = next(x for x in range(k) if B[x, 1] == 1)
# Do something with x
except StopIteration:
# Do something else
EDIT: Better yet, thanks @arshajii:
x = next(x for x in range(k) if B[x, 1] == 1, None)
if x is not None:
# Do something with x
else:
# Do something else
edited Nov 12 '18 at 16:36
answered Nov 12 '18 at 16:24
jdehesajdehesa
23k43152
23k43152
You can also usex = next((x for x in range(k) if B[x, 1] == 1), None)
then check ifx
isNone
instead of catching an exception.
– arshajii
Nov 12 '18 at 16:35
@arshajii I always forget about that one and it's so much better, thanks!
– jdehesa
Nov 12 '18 at 16:37
add a comment |
You can also usex = next((x for x in range(k) if B[x, 1] == 1), None)
then check ifx
isNone
instead of catching an exception.
– arshajii
Nov 12 '18 at 16:35
@arshajii I always forget about that one and it's so much better, thanks!
– jdehesa
Nov 12 '18 at 16:37
You can also use
x = next((x for x in range(k) if B[x, 1] == 1), None)
then check if x
is None
instead of catching an exception.– arshajii
Nov 12 '18 at 16:35
You can also use
x = next((x for x in range(k) if B[x, 1] == 1), None)
then check if x
is None
instead of catching an exception.– arshajii
Nov 12 '18 at 16:35
@arshajii I always forget about that one and it's so much better, thanks!
– jdehesa
Nov 12 '18 at 16:37
@arshajii I always forget about that one and it's so much better, thanks!
– jdehesa
Nov 12 '18 at 16:37
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53266015%2fpython-list-comprehension-with-boolean-as-return-value%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
What's a
quadratic matrix of size k
? Can you provide a Minimal, Complete, and Verifiable example?– jpp
Nov 12 '18 at 16:12
Use list comprehension only if you're interested in creating a list.
– Austin
Nov 12 '18 at 16:13