美文网首页
2018-08-27-day06作业

2018-08-27-day06作业

作者: oxd001 | 来源:发表于2018-08-27 19:28 被阅读0次

    1.已知一个列表,求列表中心元素

    lst = ['a','b','c','d','e']
    if len(lst)%2!=0:
      print(lst[len(lst)//2])
    else:
      print(lst[len(lst)//2-1])
    '''
    结果:c
    '''
    

    2.已知一个列表,求所有元素和

    lst = [1,2,3,4,5,6,7,8,9]
    sum = 0
    for num in lst[:]:
        sum += num
    print(sum)
    '''
    结果:45
    '''
    

    3.已知一个列表,输出所有下标是奇数的元素

    lst = ['hello','world','java','c++','python','lisp','c','php','javascript','go','swift']
    for word in lst[1::2]:
        print(word,end=' ')
    print()
    '''
    结果:world c++ lisp php go 
    '''
    

    4.已知一个列表,输出所有元素中,值为奇数的元素。

    lst = range(101)
    for num in lst[1::2]:
        print(num,end=' ')
    print()
    '''
    结果:1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 
    
    '''
    

    5.已知一个列表,将所有的元素乘以2。

    lst = range(21)
    lst2 = []
    for num in lst[:]:
        lst2.append(num*2)
    print(lst2)
    '''
    结果:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40]
    
    '''
    

    6.已知一个列表,将所有元素加到第一个元素中。

    lst = ['hello','world','java','c++','python','lisp','c','php','javascript','go','swift']
    s = ''
    for st in lst[:]:
        s += st
    lst.clear()
    lst.append(s)
    print(lst)
    '''
    结果:['helloworldjavac++pythonlispcphpjavascriptgoswift']
    '''
    

    7.已知一个列表A,将奇数位置元素存到B列表中,偶数元素存到C列表中。

    a = ['hello','world','java','c++','python','lisp','c','php','javascript','go','swift']
    b = []  #存储偶数下标列表
    c = []  #存储奇数下标列表
    for item in a[1::2]:
        b.append(item)
    for item in a[0::2]:
        c.append(item)
    print(b)
    print(c)
    '''
    结果:
    ['world', 'c++', 'lisp', 'php', 'go']
    ['hello', 'java', 'python', 'c', 'javascript', 'swift']
    
    '''
    

    8.把A列表的前5个元素复制到B列表中。

    a = ['hello','world','java','c++','python','lisp','c','php','javascript','go','swift']
    b = a[0:5]
    print(b)
    '''
    结果:
    ['hello', 'world', 'java', 'c++', 'python']
    '''
    

    9.有一个长度是10的列表,按递增排列,用户输入一个数,插入适当位置。

    lst = [22,33,35,37,40,78,87,99,101,103]
    num = int(input("please input a number:"))
    i = 0
    if num<lst[0]:
        lst.insert(0, num)
    elif num>=lst[0]:
        while i < len(lst) - 1:
            if num >= lst[i] and num <= lst[i + 1]:
                lst.insert(i + 1, num)
                break
            i += 1
    if num >= lst[len(lst)-1]:
        lst.append(num)
    print(lst)
    '''
    结果:
    please input a number:23
    [22, 23, 33, 35, 37, 40, 78, 87, 99, 101, 103]
    '''
    

    10.自己实现列表的count方法的功能。

    def my_count(lst,obj):
        '''
    
        :param lst:传入的列表
        :param obj:要统计的元素
        :return:元素在列表中的次数
        '''
        count = 0
        for i in lst[:]:
            if i == obj:
                count += 1
        return count
    lst = [1,2,3,4,2,2,4,5]
    print('出现次数:%d'%my_count(lst,2))
    '''
    结果:出现次数:3
    '''
    

    11.自己实现列表的extend方法的功能。

    def my_extend(lst1,lst2):
        '''
    
        :param lst1: 主列表
        :param lst2: 要进行添加的序列
        :return: 扩展的列表
        '''
        if type(lst2) == str or type(list)==list or\
                type(lst1)==set or type(lst1)==tuple:
            for s in lst2:
                lst1.append(s)
        elif type(lst2) == dict:
            for key in lst2.keys():
                lst1.append(key)
        return lst1
    print(my_extend([1,2],{'1':2,'a':1}))
    '''
    结果:[1, 2, '1', 'a']
    '''
    

    12.自己实现列表的index方法

    def my_index(lst,obj):
        '''
        :param lst:传入列表
        :param obj:要寻找的第一次出现下标的元素
        :return:下标的位置,返回-1表示此列表无此元素
        '''
        i = 0 #用来记录下标的变化
        while i<len(lst):
            if obj == lst[i]:
                return i
            i += 1
        return -1
    lst=[1,2,3,4,3,2,2]
    my_i=my_index(lst,2)
    if i>=0:
        print('索引:%d'%my_i)
    else:
        print('此列表中没有这个元素')
    '''
    结果:索引:1
    '''
    

    13.元组总结
    什么是元组?不可变的列表
    元组的声明方式:
    变量名 = (数据1,数据2,...数据n)

    1).多个值之间用逗号隔开,对应的数据也是元组
    a = 1,2,4,5 相当于a=(1,2,4,5)

    a = 1,2,4,5 
    print(type(a))
    

    x,y = y,x 相当于 x,y=(y,x)

    2).遍历元组
    遍历元组和遍历列表一样,可以使用for来进行遍历

    
    a = 1,2,4,5 
    for i in a:
      print(i)
    

    同样也可以通过下标进行获取,元组也可以进行切片

    a=(1,2,3,4,5)
    a[0]
    a[:2]
    '''
    结果:
    1
    (1,2)
    '''
    

    3).修改元组变量
    虽然不能修改元组的值,但是可以通过重新赋值来为修改元组的变量

    a =(1,2)
    a=(3,4)
    print(a)
    

    4).元组的运算
    a).+运算:元组进行加运算的时候会生成一个新的元组,把相加的元组的值复制到一个新的地址,并把该地址返回
    '''
    a=(1,2,3,4,5)
    b=(1,2)
    c=a+b
    id(a) #10057312
    id(b) #10176632
    id(c) #9991480
    '''
    b).*操作:元组进行乘运算的时候会生成一个新的元组(重复n次),在新的地址创建元组并存值,并把该地址返回

    a=(1,2)
    a*3
    #(1, 2, 1, 2, 1, 2)
    

    c).in/not in:判断一个元素是否在/不在元组中

    a=(1,2)
    print(1 in a)   #True
    
    

    d).len(列表):获取元组中的长度,指的就是元组中元素的个数

    a=(1,2)
    len(序列)
    len(a) 
    

    相关文章

      网友评论

          本文标题:2018-08-27-day06作业

          本文链接:https://www.haomeiwen.com/subject/kuitwftx.html