LINUX.ORG.RU

История изменений

Исправление soomrack, (текущая версия) :

И объясни мне, только согласно документации, пожалуйста, почему

    my_list = [1] * (10**5)
    print(f"len(my_list) = {len(my_list)}")

    sum = 0
    for item in my_list:
        my_list.pop(0)
        sum = sum + item
        
    print(f"sum = {sum}")

выводит:

len(my_list) = 100000
sum = 50000

исполняется, секунды, а если степень поменять на **6, что будет выполняться оооочень долго.

Но при этом, если закомментить строчку my_list.pop(0) ты вывод будет 10000 и 10000, а исполняться будет мгновенно, в т.ч. и для **6.

Что там по факту происходит «под капотом» этих выражений?

PS: в питоне в цикле for менять коллекцию не стоит, по-хорошему, ее бы стоило делать immutable на уровне языка.

Исправление soomrack, :

И объясни мне, только согласно документации, пожалуйста, почему

    my_list = [1] * (10**5)
    print(f"len(my_list) = {len(my_list)}")

    sum = 0
    for item in my_list:
        my_list.pop(0)
        sum = sum + item
        
    print(f"sum = {sum}")

выводит:

len(my_list) = 100000
sum = 50000

исполняется, секунды, а если степень поменять на **6, что будет выполняться оооочень долго.

Но при этом, если закомментить строчку my_list.pop(0) ты вывод будет 10000 и 10000, а исполняться будет мгновенно.

Что там по факту происходит «под капотом» этих выражений?

PS: в питоне в цикле for менять коллекцию не стоит, по-хорошему, ее бы стоило делать immutable на уровне языка.

Исходная версия soomrack, :

И объясни мне, только согласно документации, пожалуйста, почему

    my_list = [1] * (10**5)
    print(f"len(my_list) = {len(my_list)}")

    sum = 0
    for item in my_list:
        my_list.pop(0)
        sum = sum + item
        
    print(f"sum = {sum}")

выводит:

len(my_list) = 100000
sum = 50000

исполняется, секунды, а если степень поменять на **6, что будет выполняться оооочень долго.

Но при этом, если закомментить строчку my_list.pop(0) ты вывод будет 10000 и 10000, а исполняться будет мгновенно.

Что там по факту происходит «под капотом» этих выражений?

PS: в питоне в цилке for менять коллекцию не стоит, по-хорошему, ее бы стоило делать immutable на уровне языка.