4: Python基础-列表练习

1.求列表的中心元素
    my_list = ['a','b','c','d',6]
    
    if len(my_list) & 1 == 1:
        mid_index = len(my_list)//2
        print('列表的中心元素:', my_list[mid_index])
    else:
        print('列表偶数个元素,没有中心元素')

    结果:
    列表的中心元素: c
2.已知一个列表,求所有元素的和
    my_list = [1,2,3,4,3.2]
    
    if  isinstance(my_list[0],str):
        result=''
    elif isinstance(my_list[0],int) or isinstance(my_list[0],float):
        result = 0      
    for item in my_list:
        result +=item       
    print('所有元素的和为:',result)

    结果: 所有元素的和为: 13.2
3.已知一个列表,输出所有奇数下标元素
    my_list = [1,2,3,4,5,6]
    result = my_list[1::2]
    print('奇数下标元素有:',end="")
    for item in result:
        print(item,' ',end="")
    
    结果:奇数下标元素有:2  4  6
4. 已知一个列表,输出所有元素中值为奇数的
    my_list = [1,2,3,4,5]
    print('\n元素为奇数的值有:',end="")
    for item in my_list:
        if item & 1 == 1:
            print(item,' ',end="")
    
    结果:元素为奇数的值有:1  3  5
5. 已知一个列表,将所有元素乘2
    my_list=[1,'a',2,'b']
    
    for i in range(len(my_list)):
        my_list[i] *= 2
    print('\n','所有元素乘2的结果:',my_list)
    
    结果:所有元素乘2的结果: [2, 'aa', 4, 'bb']
7. 已知一个列表A,将奇数位置元素存到B列表中,将偶数位置元素存在C列表
    list_A=[1,'aa',2,'bb',3,'cc',4]
    list_B=list_A[::2]
    list_C=list_A[1::2]
    print('列表B:',list_B)
    print('列表C:',list_C)
    
    结果:
    列表B: [1, 2, 3, 4]
    列表C: ['aa', 'bb', 'cc']
8. 把列表A的前5个元素复制到列表B中
    list_A=[1,'aa',2,'bb',3,'cc',4,12,12]
    list_B=[]
    if len(list_A)>=5:
        list_B = list_A[0:5]
        print('列表B:',list_B)
    else:
        print('列表A不足5个元素')
    
    结果:列表B: [1, 'aa', 2, 'bb', 3]
10 有一个长度是10的列表,列表内有10个不重复的数字,要求按照从小到大排序
    my_list=[12,45,4,5,78,89,100,16,9,10]
    my_list.sort(reverse=True)
    print(my_list)
    
    结果:[100, 89, 78, 45, 16, 12, 10, 9, 5, 4]
11. 有一个长度是10的列表,要求删除某一位置的元素
my_list=[12,45,4,5,78,89,100,16,9,10]
while True:
        print('列表为:',my_list)
        del_index = input('请输入要删除位置的元素(一个元素对应位置为1,依次类推):')

        if del_index.isdigit():
            del_index = int(del_index)
            if del_index<=len(my_list)+1:
                del my_list[del_index-1]
                print('删除后的列表为:', my_list)
                print('********结束*********')
                break
            else:
                print('请输入正确的位置')
        else:
            print('请输入数字')
12 有一个长度为10的列表,按照递增排列,用户输入一个数,插入适当位置
    my_list=[12,45,4,5,78,89,100,16,9,10]
    my_list.sort()
    while True:
        print('列表为:',my_list)
        insert_item = input('请输入要插入的元素:')
        try:
            if type(eval(insert_item))==int:
                my_list.append(int(insert_item))
            elif type(eval(insert_item))==float:
                my_list.append(float(insert_item))
            my_list.sort()
            print('列表更新为:', my_list)
            print('********结束*********')
            break
        except:
                print('输入错误,请输入数字!')
13 有一个长度为10的列表,数组内有10个人名,要求去掉重复的
    my_list=['孙悟空','典韦','亚瑟','孙悟空','后裔','夏侯惇','曹操','孙悟空','典韦','杨戬']
    new_list = []
    
    for name in my_list:
        if name not in new_list:
            new_list.append(name)
    my_list = new_list
    print(my_list)

    --------------------------------另外一种法--------------------------------------
    my_list=['a',10,10,10,10,10,'b','c']
    i=0
    while i1:
            my_list.pop(i)
            i-=1
        i+=1
    print(my_list)

    结果:['孙悟空', '典韦', '亚瑟', '后裔', '夏侯惇', '曹操', '杨戬']
14 把A列表的第三到第六位之间的元素删除
    list_A=[12,45,4,5,78,89,100,16,9,10]
    
    for i in range(4):
        list_A.pop(2)

    print(list_A)

    结果:[12, 45, 100, 16, 9, 10]
15 .已知列表A、B,定义列表C,要求C包含A,B数组中的数据(无重复值)
    list_A=[1,3,2,3,4,1]
    list_B=['a','b','c','a']
    list_C = list_A + list_B
    new_list=[]
    
    for name in list_C:
        if name not in new_list:
            new_list.append(name)
    list_C = new_list
    print(new_list)

你可能感兴趣的:(4: Python基础-列表练习)