zoukankan      html  css  js  c++  java
  • 数据转换

    元祖:如果元祖里面只有一个元素,有逗号数据类型是元祖,没有逗号这数据类型与元素的数据类型一致。

    tu1 =('fgh')

    tu2 =('dfg',)

    列表:

    列表与列表之间可以相加。

    在循环一个列表时,如果对列表中的某些元素进行删除,
    那么此元素后面的所有元素就会向前进一位,他们的索引就会发生变化。

     l1 = [11, 22, 33, 44, 55, 66, 77, 88]
    方法一:切片+步长删除
    del l1[1::2]
    print(l1)

    方法二:
    l2 = []
     for i in range(len(l1)):
     if i % 2 == 0:
     l2.append(l1[i])
    print(l2)
    l1 = l2
    print(l1)
    l1 = [11, 22, 33, 44, 55, 66, 77, 88]
    方法三:倒序删除
     for index in range(len(l1)-1, -1, -1):
    if index % 2 == 1:
    l1.pop(index)
    print(l1)
    在循环一个列表时,最好不要对此列表进行改变大小(增删)的操作。

    字典

    面试题:创建字典的方式
    1,直接创建
    dic = {'name':'alex'}
    2
    dic = dict({'name':'alex'})
    print(dic)
    3, fromkeys()

    dic1 = dict.fromkeys([1,2,3],'alex')

    print(dic1)


    dic = {'key1': 'value1','key2': 'value2', 'k3':'v3', 'name': 'alex'}
     将 dic的键中含有k元素的所有键值对删除。


     for key in dic:
      if 'k' in key:
         dic.pop(key)

    报错:dictionary changed size during iteration: 在循环一个字典时,不能改变字典的大小。

    dic = {'key':1,'key1':1,'key2':2,'a':1}
    l = []
    for i in dic:
        if 'k' in i:
            l.append(i)
    print(l)
    for a in l:
        dic.pop(a)
    print(dic)
    

     

    数据类型的转换。

    int str bool 三者转换
    str <---> bytes
    str <---> list
    dict.keys() dict.values() dict.items() list()
    tuple <---> list
    dict ---> list

    str ---> list
    s1 = 'alex wusir taibai'
    l1 = s1.split()
    print(l1)
    list ---> str 此list中的元素全部是str类型
    l1 = ['alex', 'wusir', 'taibai']
    s2 = ' '.join(l1)
    print(s2)
     tuple <---> list
     l1 = [1,2,3]
     tu1 = tuple(l1)
     print(tu1)
    
     tu2 = (0,2,3)
    l1 = list(tu2)
    print(l1)
    

     

    0 " [] () {} set() ---> bool False

    赋值运算
    l1 = [1,2,3]
    l2 = l1
    l1.append(666)
    print(l2)
    print(id(l1))
    print(id(l2))
    应用场景:面试会考,解释深浅copy
    完全独立的copy一份数据,与原数据没有关系,深copy
    如果一份数据(列表)第二层时,你想与原数据进行公用,浅copy。
    面试题
    切片属于浅copy
    l1 = [1,2,3,[22,33]]
    l2 = l1[:]
    l1.append(666)
    l1[-1].append(666)
    print(l2)

    深copy
    import copy
    l1 = [1,2,3,[1,2]]
    l2 = copy.deepcopy(l1)
    print(id(l1))
    print(id(l2))
    print(id(l1[3]) == id(l2[3]))
    

      

    集合有天然的去重功能:
    面试必考:list去重 *****
    l1 = [1,1,2,3,4,4,3,2,1,5,5]
    set1 = set(l1)
    l2 = list(set1)
    print(l2)
  • 相关阅读:
    Java函数式接口与逐步lambda简化
    Java继承知识点总结(基础知识3)
    Java静态工厂方法新建对象
    Java对象与类知识点总结(基础知识2)
    Java多线程并发入门(基础知识)
    Java基本程序设计结构(基础知识1)
    【数据库】JDBC课设(5)将图片以二进制流方法添加进MySQL并查询
    【数据库】JDBC课设(4) DatabaseMetaData 获得数据库信息
    【数据库】JDBC课设(3)TYPE_SCROLL_INSENSITIVE使结果集可以前后滚动
    简单总结.net下几种序列化
  • 原文地址:https://www.cnblogs.com/lijinming110/p/9463098.html
Copyright © 2011-2022 走看看