My assumption here is that within your data structure you have only two level hierarchy:
- Countries are always top level parent terms (they never have their own parents),
- Streets are first level children, and each street only has one parent and no children.
Do you need a list of all terms? In that case you could output all Streets by picking terms that do not have children, then loop through them to show their parents:
<?php
$terms = get_terms( [
'taxonomy' => 'your-taxonomy-name',
'hide_empty' => false,
'childless' => true, // this will make sure we pick only terms that have no children, so no countries, only streets
] );
?>
<ul>
<?php
foreach( $terms as $street ) {
$country = get_term( $street->parent, 'your-taxonomy-name' );
if ( ! is_wp_error( $country ) ) {
echo sprintf( '<li>%1$s, %2$s</li>', $street->name, $country->name );
}
}
?>
<ul>