質問内容が分かりづらかったので、コードや欲しい結果を具体的に書きます
・再帰と勘違いしていたので、タイトルも変更しました

最終的にやりたいこと
このリンク先にあるコード結果を、Bottleを使用してWeb画面上に表示したい

試したこと

from urllib.request import urlopen
from bs4 import BeautifulSoup
import datetime
import random
import re
from bottle import route, view

random.seed(datetime.datetime.now())

def getLinks(articleUrl):
    html = urlopen("http://en.wikipedia.org"+articleUrl)
    bsObj = BeautifulSoup(html, "html.parser")
    return bsObj.find("div", {"id":"bodyContent"}).findAll("a", href=re.compile("^(/wiki/)((?!:).)*$"))

@route('/')
@view("test_template")
def test():
    links = getLinks("/wiki/Kevin_Bacon")
    results = []
    while len(links) > 0:
        newArticle = links[random.randint(0, len(links)-1)].attrs["href"]
        results.append(newArticle)
        links = getLinks(newArticle)
        dict(results=results)

・画面表示結果例

['/wiki/Randy_Quaid']

・上記はループ時にテンプレートへ渡しているので、ループ終了後に結果をまとめてテンプレートへ渡したいと思い、下記へ変更したら無限ループに陥ったのですがナゼでしょうか?

     while len(links) > 0:
         newArticle = links[random.randint(0, len(links)-1)].attrs["href"]
         results.append(newArticle)
         links = getLinks(newArticle)
     dict(results=results)

・最終的に欲しい結果のイメージ(あくまでも想定の範囲です)

['/wiki/Richard_Chamberlain','/wiki/Richard_Chamberlain']


以下当初質問した内容

・下記コードで、ループ最中に随時出力するわけではなく、ループ終了後にまとめて取得したい場合はどうすれば良いでしょうか?

def getHoge(p):
    return 処理

res = getHoge("文字列")

def hoge():
    while len(res) > 0:
        str = 処理
        print(str)
        links = getHoge(str)

hoge()

・文字列で構成されたオブジェクトで取得?
※そもそも「どういう形式で取得できるか」自体、良く分かっていません

・試したけれどもうまく動作しない(無限ループ?)コード

def getHoge(p):
    return 処理

res = getHoge("文字列")

result = ['1'] #変数定義。代入しないと定義できないと書いてあったので取り敢えず適当に'1'を代入しました
def hoge():
    global result
    while len(res) > 0:
        str = 処理
        print(str)
        result.append(str)
        links = getHoge(str)
    retuen result #ここで取得したい
hoge()