• day6笔记


    一、上节回顾

    list:li = [1,2,3,5,'a']
    增加:append:末尾加入==追加
    insert:插入,在任意位置,insert(index,'内容')
    extend:迭代着加入,'asc' ----> ‘a’,‘s’,‘c’ [1,2,3] ---->1,2,3
    删除:pop 按索引删除,有返回值
    remove:按元素删除
    del:del li[0] del li[1:4] del li
    clear:清空
    改:li[0] = 'fdfgdg' li[1:3] = 'abcd' li = [1,a,b,c,d,5,'a']
    查询:按索引,切片,for while等都可以查出。
    方法:count 没有切片
    sort:从小到大,正序,sort(reverse = True)倒叙排序
    reverse:反转
    index:找出元素的索引位置 可以切片
    li = [1,2,[3,4,'taibai','a'],3,5,'a']
    li[2][2]=li[2][2].captize

    2,:元祖。只读,不能更改,儿子不能改,孙子可以改。
    可以切片。
    3,:range(4,12) = [4,5,。。。。11] 生成指定数字范围的生成器

    二、作业收藏:

    4,请用代码实现: 
           li = [‘alex’,’eric’,’rain]
    利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
    '''
    #format
    方法一:
    li = ['alex','eric','rain']
    # info = '{}_{}_{}'.format(li[0],li[1],li[2])
    # print(info)
    方法二:
    # li = ['alex','eric','rain']
    # msg = ""
    # is_first = True
    # for item in li:
    #     if is_first:
    #         msg = item
    #         is_first =False
    #     else:
    #         msg += "_" + item
    # print(msg)
    方法三:
    # li = ['alex','eric','rain']
    # sb=''
    # for i in li[1:]:
    #     sb+='_'+i
    # print(sb.lstrip('_'))
    方法四:  join
    # li = ['alex','eric','rain']
    # str(li)
    # temp = ''.join(li)
    # print(temp)
    #将str ---> list    split
    #将list  ---> str   join
    # s = 'alex'
    # temp = '*'.join(s)  # 可迭代对象
    # print(temp)
    # li = [1,2]
    # li = str(li)
    # print(li[1],type(li[1]))
    '''
    5,查找列表li中的元素,移除每个元素的空格,
    并找出以’A’或者’a’开头,并以’c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
    li = [‘taibai ’,’alexC’,’AbC ’,’egon’,’ Ritian’,’ Wusir’,’  aqc’]
    '''
    :
    # li = ['     taibai ','alexC','AbC ','egon',' Ritian',' Wusir','  aqc']
    # l1 = []
    # for i in li:
    #    j = i.strip()
    #    # if j[0].upper() == 'A' and j[-1] == 'c':
    #    if j.startswith('A') and j[-1] == 'c':
    #        l1.append(j)
    #
    # for k in l1:
    #     print(k)
    将敏感词换成****
    # li = ["苍老师","东京热",'武藤兰','波多野结衣']
    # new_li = []
    # info = input('请输入你的评论')  # 苍老师,fdsa东京热
    # for i in li:
    #     if info.find(i) != -1:
    #         l = len(i)
    #         info = info.replace(i,'*'*l)   #***,fdsa东京热
    # new_li.append(info)
    # print(new_li)
    
    """
    7,有如下列表li = [1,3,4’,alex’,[3,7,8,’taibai’],5,’ritian’]
    循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
    我想要的结果是(用三种方法实现)
    """
    另外还有两种用for和range的方法
    li = [1,3,4,'alex',[3,7,8,'taibai'],5,'ritian']
    for i in li:
        if type(i)==list:
            for k in i:
                print(k)
        else:
            print(i)
    #2
    li = [1,3,4,'alex',[3,7,8,'taibai'],5,'ritian']
    for i in range(0,len(li)):
        if type(li[i])==list:
            for k in li[i]:
                print(k)
        else:
            print(li[i])
    方法三:
    li = [1,3,4,'alex',[3,7,8,'taibai'],5,2]
    # print('********',li.index([3,7,8,'taibai']))
    # new_li = []
    # for i in li:
    #     if type(i) == list:  # i == [3,7,8,'taibai']
    #         index_list = li.index(i)  # index_list == li.index([3,7,8,'taibai']) == 4
    # new_li = li[:index_list]  # new_li = [1,3,4,'alex',]
    # new_li.extend(li[index_list])  # [1,3,4,'alex',].extend([3,7,8,'taibai'])
    # #  new_li = [1,3,4,'alex',3,7,8,'taibai']
    # new_li = new_li.extend(li[index_list+1:])  # li[index_list+1:] ==[5,2]
    #new_li = [1,3,4,'alex',3,7,8,'taibai',5,2]
    # for j in new_li:
    #     print(j)
    # li = [1,2,3]
    # l2 = ['a','b','c']
    # l3 = li+l2
    # print(l3)
    方法四来由:
    l = [1,2,3,'4']
    l[1] = ['2',3,'alex']
    print(l) #[1,['2',3,'alex'],3,'4']   [1,'2',3,'alex',3,'4']
    l[1:2] = ['2',3,'alex']
    print(l)
    方法四
    li = [1,3,4,'alex',[3,7,8,'taibai'],5,2]
    for i in li:            ####方法一
        if type(i) == list:
            index_list = li.index(i)  # 4  i = [3,7,8,'taibai']
            li[index_list:index_list+1] = i   #  li[4:5] = [3,7,8,'taibai']
            #  li = [1,3,4,'alex',3,7,8,'taibai',5,2]
            # print(i)
    # for j in li:
    #     print(j)
    day5作业收藏

    三、字典的讲解:

        字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

      字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取

      总结:1,字典无序。2,数据关联性强,3键值对。唯一一个映射的数据类型。  

      字典的键必须是可哈希的(不可变的数据类型:字符串,数字,布尔值,元祖)并且是唯一的不可哈希的(可变的数据类型:列表,字典,set)

     增:

    dic = {'name':'alex','age':19,'high':'175cm'}
    #dic ['wight']='65kg'
    #print(dic) # {'name': 'alex', 'age': 19, 'high': '175cm', 'wight': '65kg'}  第一种增加就是字典键值等于变量/
                            # 如果不存在此键值直接增加  ,如果存在就是修改该键对应的值
    #dic['name'] = 'chao'
    #print(dic)            # {'name': 'chao', 'age': 19, 'high': '175cm'}
    #dic.setdefault('weight','60kg')
    #print(dic)    #  {'name': 'alex', 'age': 19, 'high': '175cm', 'weight': '60kg'}
    dic.setdefault('name',666)
    print(dic)   #{'name': 'alex', 'age': 19, 'high': '175cm'}
    # 总结:setdefault如果不写 参数会报错,只写k 会创建一对值是None的键值对,如果K存在则不会新增加列表

    删:

    #a = dic.pop('name')
    #print(dic,a)         # {'age': 19, 'high': '175cm'} alex
    #a = dic.pop('name','lll')
    #print(dic,a,dic.pop('name','lll'))  #{'age': 19, 'high': '175cm'} alex lll
    # 根据键值删除某一个元素,并返回删除的值,如果键值不存在那么返回  键值后的参数111  注:如果键值后没有参数并且该键值不存在则会报错
    #a = dic.popitem()
    #print(dic,a)   # {'name': 'alex', 'age': 19} ('high', '175cm')
    # 任意删除字典中的某个键值对,并以元祖的形式返回
    #del dic['name']
    #print(dic)    # {'age': 19, 'high': '175cm'}   删除指定的键值对
    dic.clear()  
    print(dic)  # {} 清空字典

    改:

    #dic['name'] = 'chao'
    #print(dic)  # {'name': 'chao', 'age': 19, 'high': '175cm'}  根键值直接修改
    li = {'name':'chao',1:2}
    dic.update(li)
    print(dic,li) # {'name': 'chao', 'age': 19, 'high': '175cm', 1: 2} {'name': 'chao', 1: 2} 
                  #  根据第二个列表更新第一个列表相同的键改变值为第二个。不存在的键值增加

    查:

    a = dic.get('name22')
    print(a)   # None
    a = dic.get('name22','')
    print(a)   # 啥    用get根据键值 去查找值 如果不存在返回  None   或者设置值
    a = dic['name22']  # 直接用键值去查找的时候不存在会报错
    # print(dic.keys(),type(dic.keys()))        # dict_keys(['name', 'age', 'high']) <class 'dict_keys'>
    # print(dic.values(),type(dic.values()))    # dict_values(['alex', 19, '175cm']) <class 'dict_values'>
    # print(dic.items(),type(dic.items()))   # dict_values(['alex', 19, '175cm']) <class 'dict_values'>
    # # 将键和值转化为列表
    # #for 循环去 查找
    # for i in dic:
    #     print(i)  # 默认遍历的是字典的键 name    age    high
    # for j in dic.keys():
    #     print(j)  # 遍历所有键
    # for k in dic.values():
    #     print(k) # 遍历所有值
    # for m,n in dic.items():
    #     print(m,n) #遍历键和值 用啊 m,n 去接受
    # m,n = (2,3)   # python 中变量的赋值可以用这种形式
    # print(m,n)  # 2 3

     

  • 相关阅读:
    多个自定义覆盖物注册点击事件,点击某个覆盖物后获得它的坐标
    C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
    如何添加EXEStealth 2.5x 壳
    PACS系统简易
    好用的后端模版
    E信通项目总结[转]
    平台型产品的设计思路[转]
    baidu思维脑图在线编辑器
    Web 前端攻防(2014版)-baidu ux前端研发部
    访谈标叔:给新人设计师的建议【转】
  • 原文地址:https://www.cnblogs.com/zjchao/p/7730103.html
Copyright © 2020-2023  润新知