Python100题——test8:从列表中删除元素;

# -*- coding: utf-8 -*-
# Author: wanlin_zhang
# Date: 2024-10-29 21:49:30
# File: t8_remove_elements_from_list.py
# Software: Visual Studio Code 1.85.1

# 从列表1~10中删除odd元素

def remove_odd_elements(list_data):
    for i in list_data:
        if i % 2 != 0:
            list_data.remove(i)
    return list_data    # 返回删除odd元素后的列表, 但是这种方法会导致删除元素后,列表的长度会发生变化,导致后续元素的索引发生变化。

def remove_odd_elements_2(list_data):
    return [i for i in list_data if i % 2 == 0]  # 通过表达式返回删除odd元素后的列表,但是不会改变原列表的长度。

def main():
    list_data = list(range(1, 11))
    print(f"删除odd元素后的列表为:{remove_odd_elements_2(list_data)}")
    print(f"原列表为:{list_data}")
    print(f"删除odd元素后的列表为:{remove_odd_elements(list_data)}")
    

if __name__ == "__main__":
    main()
python
4 views
Comments
登录后评论
Sign In