zoukankan      html  css  js  c++  java
  • 全栈测试 一 | py3基础 一 常见数据类型List&Tuple&dict

    元组


     元组:特点就是内容不可变,算只读的列表,可以被查询,不能被修改

    a = 2,
    print(a)
    print(type(a))
    
    b = ('a','b','c')
    print(b[1])

    运行结果:

    (2,)
    <class 'tuple'>
    b

    字典


    字典:内部数据打印时是无序的,键值是哈希的,有唯一性

    #创建字典
    a = {'a':'python','b':'ruby','c':'java'}  #直接创建一个字典
    print(a)
    
    #内置字典方法创建:dict
    a = dict((('a','b'),))
    print(a)
    
    a = dict([['a','b'],])
    print(a)
    
    #修改字典
    a = {'a': 'b'}
    set1 = a.setdefault("c","java")
    print(a)
    print(set1)
    
    #查询操作
    a = {'a':'python','b':'ruby','c':'java'}
    print(a.keys())
    print(a.values())
    print(a.items())
    print(a['a'])
    
    #update方法
    a = {'a':'python','b':'ruby','c':'java'}
    b = {'d':'shell'}
    a.update(b)
    print(a)
    a.update({'a':'javascript'})
    print(a)
    
    #删除方法
    a = {'a':'python','b':'ruby','c':'java'}
    a.clear()
    print(a) # 清空字典
    
    a = {'a':'python','b':'ruby','c':'java'}
    del a['a']
    print(a)
    
    print("********************")
    a = {'a':'python','b':'ruby','c':'java'}
    b = a.pop('b')
    print(a)
    print(b)
    
    print("********************")
    a = {'a':'python','b':'ruby','c':'java'}
    b = a.popitem()
    print(a)
    print(b)
    
    a = {'a':'python','b':'ruby','c':'java'}
    del a  #整个字典被删除
    
    print('其他字典方法')
    a = {'first':'python'}
    b = dict.fromkeys(['a','b'],['test'])
    print(a)
    print(b)
    
    print('字典的遍历')
    a = {'a':'python','b':'ruby','c':'java'}
    for i,j in a.items():
        print(i,j)
    
    for i in a:    #效率比上面的高
        print(i,a[i])

    字符串


     只列举几个简单的应用

    print('join 字符串合并方法')
    a = ['python','ruby','java']
    b = ''.join(a)
    print(b)
    
    c = '*'.join(a)
    print(c)
    
    
    print('字符串常用方法')
    a = 'python py'
    print(a.count('p'))
    print(a.capitalize())
    
    print("format格式化输出")
    a = "my favorite book {name} and {name2}"
    print(a.format_map({'name':'python','name2':'java'}))
    print(a.format(name = 'shell',name2 = 'bash'))
    print(a.isdigit())

    常用内置函数参考


    #-- 常用列表常量和操作  
        L = [[1, 2], 'string', {}]                        # 嵌套列表  
        L = list('spam')                                  # 列表初始化  
        L = list(range(0, 4))                             # 列表初始化  
        list(map(ord, 'spam'))                            # 列表解析  
        len(L)                                            # 求列表长度  
        L.count(value)                                    # 求列表中某个值的个数  
        L.append(obj)                                     # 向列表的尾部添加数据,比如append(2),添加元素2  
        L.insert(index, obj)                              # 向列表的指定index位置添加数据,index及其之后的数据后移  
        L.extend(interable)                               # 通过添加iterable中的元素来扩展列表,比如extend([2]),添加元素2,注意和append的区别  
        L.index(value, [start, [stop]])                   # 返回列表中值value的第一个索引  
        L.pop([index])                                    # 删除并返回index处的元素,默认为删除并返回最后一个元素  
        L.remove(value)                                   # 删除列表中的value值,只删除第一次出现的value的值  
        L.reverse()                                       # 反转列表  
        L.sort(cmp=None, key=None, reverse=False)         # 排序列表  
        a = [1, 2, 3], b = a[10:]                         # 注意,这里不会引发IndexError异常,只会返回一个空的列表[]  
        a = [], a += [1]                                  # 这里实在原有列表的基础上进行操作,即列表的id没有改变  
        a = [], a = a + [1]                               # 这里最后的a要构建一个新的列表,即a的id发生了变化  
           
    #-- 用切片来删除序列的某一段  
        a = [1, 2, 3, 4, 5, 6, 7]  
        a[1:4] = []                                       # a = [1, 5, 6, 7]  
        a = [0, 1, 2, 3, 4, 5, 6, 7]  
        del a[::2]                                        # 去除偶数项(偶数索引的),a = [1, 3, 5, 7]  
          
    #-- 常用字典常量和操作  
        D = {}  
        D = {'spam':2, 'tol':{'ham':1}}                   # 嵌套字典  
        D = dict.fromkeys(['s', 'd'], 8)                  # {'d': 8, 's': 8}  
        D = dict(name = 'tom', age = 12)                  # {'age': 12, 'name': 'tom'}  
        D = dict([('name', 'tom'), ('age', 12)])          # {'age': 12, 'name': 'tom'}  
        D = dict(zip(['name', 'age'], ['tom', 12]))       # {'age': 12, 'name': 'tom'}  
        D.keys()    D.values()    D.items()               # 字典键、值以及键值对  
        D.get(key, default)                               # get函数  
        D.update(D_other)                                 # 合并字典,如果存在相同的键值,D_other的数据会覆盖掉D的数据  
        D.pop(key, [D])                                   # 删除字典中键值为key的项,返回键值为key的值,如果不存在,返回默认值D,否则异常  
        D.popitem()                                       # pop字典中的一项(一个键值对)  
        D.setdefault(k[, d])                              # 设置D中某一项的默认值。如果k存在,则返回D[k],否则设置D[k]=d,同时返回D[k]。  
        del D                                             # 删除字典  
        del D['key']                                      # 删除字典的某一项  
        if key in D:   if key not in D:                   # 测试字典键是否存在  
        # 字典注意事项:(1)对新索引赋值会添加一项(2)字典键不一定非得是字符串,也可以为任何的不可变对象  
      
    #-- 字典解析  
        D = {k:8 for k in ['s', 'd']}                     # {'d': 8, 's': 8}  
        D = {k:v for (k, v) in zip(['name', 'age'], ['tom', 12])}  
          
    #-- 字典的特殊方法__missing__:当查找找不到key时,会执行该方法  
        class Dict(dict):  
            def __missing__(self, key):  
                self[key] = []  
                return self[key]  
        dct = Dict()  
        dct["foo"].append(1)    # 这有点类似于collections.defalutdict  
        dct["foo"]              # [1]  
          
    #-- 元组和列表的唯一区别在于元组是不可变对象,列表时可变对象  
        a = [1, 2, 3]           # a[1] = 0, OK  
        a = (1, 2, 3)           # a[1] = 0, Error  
        a = ([1, 2])            # a[0][1] = 0, OK  
        a = [(1, 2)]            # a[0][1] = 0, Error  
          
    #-- 元组的特殊语法: 逗号和圆括号  
        D = (12)                # 此时D为一个整数 即D = 12  
        D = (12, )              # 此时D为一个元组 即D = (12, )  
  • 相关阅读:
    防止跨域(jsonp详解)
    java-文件和I/O
    spring-AOP框架(基于AspectJ注解配置AOP)
    @RequestMapping、@Responsebody、@RequestBody和@PathVariable详解(转)
    spring-IOC容器(三)
    spring-IOC容器(二)
    spring-IOC容器(一)
    Spring4相关jar包介绍(转)
    Eclipse设置自动提示(转)
    java-环境安装及配置
  • 原文地址:https://www.cnblogs.com/wuzhiming/p/11985570.html
Copyright © 2011-2022 走看看