Yes, and no. The main problem is this line:
point, edges = edges_per_point.popitem()
This will remove one item from the dictionary and return it. But which item? Well, you don't know. It's completely arbitrary. Is that really you intention?
The code only makes sense in a loop, where you do this for all items in the dictionary. And then it's better to do this:
for point, edges in edges_per_point.items():
edge = edges.pop(0)
The pop(0) will remove the first item from the edges list, and put it into the edge variable.
So the above two lines are the answer of a better way to do what you asked for, although it doesn't exactly replace your four lines of code, be cause those four lines make no sense.