替代Len功能

时间:2017-04-21 08:46:58

标签: python function

我正在编写一个简单的搜索算法。以下是我的代码。

$array_data = json_decode($json_data, true)["title"];
for ($i = 0; $i < count($array_data); $i++) {
    $image = $array_data[$i]['images'];
    //As the content in image is not  a valid json
    // Convert to valid json
    $image_valid_json = str_replace("'", "\"", $image);
    //change to array
    $image_data = json_decode($image_valid_json, true);
    //get the long key
    $key = array_keys($image_data);
    // Changes as per your question
    for ($j = 0; $j < count($key); $j++) {
        $url = $image_data[$key[$j]]['url'];
        echo $url . "\n";
    }
}

但是我不应该使用len()或任何其他内置函数。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

也许只是自己创建一个len函数,用这样的东西:

def myLen(tab):
    index = 0
    while(tab != []):
        tab = tab[0:-1]
        index+=1
    return index
a=[1,3,4,5]
print(myLen(a))

答案 1 :(得分:0)

正如我在评论中所写,您可以使用while True并在找到所需内容或排除列表时手动终止它。

def search(list_data, target_char):
    found = False
    position = 0
    while True:
        try:
            if list_data[position] == target_char:
                found = True
                break
        except IndexError:
            break
        position += 1
    return found

print(search([1, 3, 5], 3))  # prints: True
print(search([1, 3, 5], 'asdas'))  # prints: False