Python how do i find second connections?
removed I should not ask this question
python class methods
add a comment |
removed I should not ask this question
python class methods
To get an answer for your question, you need to give a lot more background. What doA
-H
mean? I'm assuming they're objects of some class, but you've not named the class or described what its purpose is. Where exactly are you creating yourconnections
variable? If it's at the top level of the class, then all your instances are sharing the sameset
instance, which may be problematic. But we can't know for sure, since you've shown us so little of your code, and explained almost nothing.
– Blckknght
Nov 17 '18 at 0:01
add a comment |
removed I should not ask this question
python class methods
removed I should not ask this question
python class methods
python class methods
edited Nov 17 '18 at 8:30
BeginCs123
asked Nov 16 '18 at 23:56
BeginCs123BeginCs123
133
133
To get an answer for your question, you need to give a lot more background. What doA
-H
mean? I'm assuming they're objects of some class, but you've not named the class or described what its purpose is. Where exactly are you creating yourconnections
variable? If it's at the top level of the class, then all your instances are sharing the sameset
instance, which may be problematic. But we can't know for sure, since you've shown us so little of your code, and explained almost nothing.
– Blckknght
Nov 17 '18 at 0:01
add a comment |
To get an answer for your question, you need to give a lot more background. What doA
-H
mean? I'm assuming they're objects of some class, but you've not named the class or described what its purpose is. Where exactly are you creating yourconnections
variable? If it's at the top level of the class, then all your instances are sharing the sameset
instance, which may be problematic. But we can't know for sure, since you've shown us so little of your code, and explained almost nothing.
– Blckknght
Nov 17 '18 at 0:01
To get an answer for your question, you need to give a lot more background. What do
A
-H
mean? I'm assuming they're objects of some class, but you've not named the class or described what its purpose is. Where exactly are you creating your connections
variable? If it's at the top level of the class, then all your instances are sharing the same set
instance, which may be problematic. But we can't know for sure, since you've shown us so little of your code, and explained almost nothing.– Blckknght
Nov 17 '18 at 0:01
To get an answer for your question, you need to give a lot more background. What do
A
-H
mean? I'm assuming they're objects of some class, but you've not named the class or described what its purpose is. Where exactly are you creating your connections
variable? If it's at the top level of the class, then all your instances are sharing the same set
instance, which may be problematic. But we can't know for sure, since you've shown us so little of your code, and explained almost nothing.– Blckknght
Nov 17 '18 at 0:01
add a comment |
2 Answers
2
active
oldest
votes
I'll keep this at a low level of technology; you can stuff this into a comprehension if you like.
Iterate over the list of first-order connections. For each connection, get their first-order connections and add them to the current second-order set -- which I've called friend_of_friend
.
def second_connections(self):
for other in self.connections:
self.friend_of_friend.union(other.connections)
add a comment |
Since I can't see your class I'm just going to implement the solution without integrating it into a class. I'm also only going to describe the connections as below, since you didn't share your data structure.
sets = set([("A", "B"),("A", "D"),("A", "C"),("A", "E"),("B", "F"),("D", "G"), ("F","H")])
def up_to_second(name, sets):
connectables = [name] + [x[1] for x in sets if x[0] == name]
return [x for x in sets if x[0] in connectables]
up_to_second("A", sets)
This gives your expected outcome:
[('A', 'B'), ('A', 'D'), ('A', 'C'), ('A', 'E'), ('D', 'G'), ('B', 'F')]
Assuming your data structure is at least a bit different from this, you'll need to tweak this solution to conform to your patterns. But as best I can tell this is a solution.
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%2f53346878%2fpython-how-do-i-find-second-connections%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
I'll keep this at a low level of technology; you can stuff this into a comprehension if you like.
Iterate over the list of first-order connections. For each connection, get their first-order connections and add them to the current second-order set -- which I've called friend_of_friend
.
def second_connections(self):
for other in self.connections:
self.friend_of_friend.union(other.connections)
add a comment |
I'll keep this at a low level of technology; you can stuff this into a comprehension if you like.
Iterate over the list of first-order connections. For each connection, get their first-order connections and add them to the current second-order set -- which I've called friend_of_friend
.
def second_connections(self):
for other in self.connections:
self.friend_of_friend.union(other.connections)
add a comment |
I'll keep this at a low level of technology; you can stuff this into a comprehension if you like.
Iterate over the list of first-order connections. For each connection, get their first-order connections and add them to the current second-order set -- which I've called friend_of_friend
.
def second_connections(self):
for other in self.connections:
self.friend_of_friend.union(other.connections)
I'll keep this at a low level of technology; you can stuff this into a comprehension if you like.
Iterate over the list of first-order connections. For each connection, get their first-order connections and add them to the current second-order set -- which I've called friend_of_friend
.
def second_connections(self):
for other in self.connections:
self.friend_of_friend.union(other.connections)
answered Nov 17 '18 at 0:01
PrunePrune
43.1k143456
43.1k143456
add a comment |
add a comment |
Since I can't see your class I'm just going to implement the solution without integrating it into a class. I'm also only going to describe the connections as below, since you didn't share your data structure.
sets = set([("A", "B"),("A", "D"),("A", "C"),("A", "E"),("B", "F"),("D", "G"), ("F","H")])
def up_to_second(name, sets):
connectables = [name] + [x[1] for x in sets if x[0] == name]
return [x for x in sets if x[0] in connectables]
up_to_second("A", sets)
This gives your expected outcome:
[('A', 'B'), ('A', 'D'), ('A', 'C'), ('A', 'E'), ('D', 'G'), ('B', 'F')]
Assuming your data structure is at least a bit different from this, you'll need to tweak this solution to conform to your patterns. But as best I can tell this is a solution.
add a comment |
Since I can't see your class I'm just going to implement the solution without integrating it into a class. I'm also only going to describe the connections as below, since you didn't share your data structure.
sets = set([("A", "B"),("A", "D"),("A", "C"),("A", "E"),("B", "F"),("D", "G"), ("F","H")])
def up_to_second(name, sets):
connectables = [name] + [x[1] for x in sets if x[0] == name]
return [x for x in sets if x[0] in connectables]
up_to_second("A", sets)
This gives your expected outcome:
[('A', 'B'), ('A', 'D'), ('A', 'C'), ('A', 'E'), ('D', 'G'), ('B', 'F')]
Assuming your data structure is at least a bit different from this, you'll need to tweak this solution to conform to your patterns. But as best I can tell this is a solution.
add a comment |
Since I can't see your class I'm just going to implement the solution without integrating it into a class. I'm also only going to describe the connections as below, since you didn't share your data structure.
sets = set([("A", "B"),("A", "D"),("A", "C"),("A", "E"),("B", "F"),("D", "G"), ("F","H")])
def up_to_second(name, sets):
connectables = [name] + [x[1] for x in sets if x[0] == name]
return [x for x in sets if x[0] in connectables]
up_to_second("A", sets)
This gives your expected outcome:
[('A', 'B'), ('A', 'D'), ('A', 'C'), ('A', 'E'), ('D', 'G'), ('B', 'F')]
Assuming your data structure is at least a bit different from this, you'll need to tweak this solution to conform to your patterns. But as best I can tell this is a solution.
Since I can't see your class I'm just going to implement the solution without integrating it into a class. I'm also only going to describe the connections as below, since you didn't share your data structure.
sets = set([("A", "B"),("A", "D"),("A", "C"),("A", "E"),("B", "F"),("D", "G"), ("F","H")])
def up_to_second(name, sets):
connectables = [name] + [x[1] for x in sets if x[0] == name]
return [x for x in sets if x[0] in connectables]
up_to_second("A", sets)
This gives your expected outcome:
[('A', 'B'), ('A', 'D'), ('A', 'C'), ('A', 'E'), ('D', 'G'), ('B', 'F')]
Assuming your data structure is at least a bit different from this, you'll need to tweak this solution to conform to your patterns. But as best I can tell this is a solution.
answered Nov 17 '18 at 0:08
Charles LandauCharles Landau
2,1551215
2,1551215
add a comment |
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%2f53346878%2fpython-how-do-i-find-second-connections%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
To get an answer for your question, you need to give a lot more background. What do
A
-H
mean? I'm assuming they're objects of some class, but you've not named the class or described what its purpose is. Where exactly are you creating yourconnections
variable? If it's at the top level of the class, then all your instances are sharing the sameset
instance, which may be problematic. But we can't know for sure, since you've shown us so little of your code, and explained almost nothing.– Blckknght
Nov 17 '18 at 0:01