zoukankan      html  css  js  c++  java
  • 五种数据类型的操作

    tuple操作     ()
    跟列表一样 但是是只读的 作用:明确的表示元组里存储的数据是不应该被修改
    元组不可修改,但元组的元素若是可变的数据类型,则可以修改元组元素的元素
    查: tuple.count()
    tuple[index]
    tuple[1:8]

    set { } 是可变的数据类型
    但集合内的元素一定是不可变数据类型
    关系测试
    交集 linux.intersection(python) or linux & python
    差集 linux.difference(python) or linux - python
    并集 去重 linux.union(python) or linux | python
    对称差集 linux.symmetric_difference(python) or linux ^ python
    去重
    无序
    add 添加一个元素,添加成功返回None
    update 将2个集合的并集赋给第一个集合,或给一个集合添加多个元素
    copy
    linux.difference_update()# 求差集并赋值给linux
    .disard() 删除 如果元素不存在,不会报错
    .pop() 随机删
    .remove 如果元素不存在,会报错
    .clear
    .issubset() 子集 or a > b
    .issuperset() 父集 or a < b
    .isdisjoint() 没有任何交集 返回真

    string 操作
    拼接 'liuliu'+ 'mumu'
    '*'.join(['i','am','world']) 设定一个符号将字符拼接起来 join后面跟一个列表
    移除空白 name.strip().strip(*) 去除首尾的空格和 可指定删除字符如* - =
    分割 name.split(' ',1) 用空格分割,分割次数一次 分隔符没有了 变成列表
    计算字符串的长度 len(name)
    .count() 计算某个字符出现的次数
    查找元素 索引 name[1]
    切片 name[1:8:2] 顾头不顾尾 步长为2:每隔一个字符,返回字符串1到8的字
                 查找索引 'fkealngksal'.find('l',1,5)       返回索引值      可指定查找位置1到5    找不到 返回-1
    'fkealngksal'.index('l',1,5) 返回索引值 可指定查找位置1到5 找不到报错
    格式化输出
    占位符 :%s string
    %d digit
    %f float

    msg = 'my name is %s,and my age is %s'
    print(msg % ('liuliu',22))
    'njsef,{name},{age}'.format(name='haskjf',age = 22) #推荐
    'njsef,{0},{1}'.format('haskjf','fnasjkfj')
    替换 name.replace('old','new',count) 替换 及替换的次数 完全匹配

    一些需要了解的
    name.capitalize 第一个字母大写
    name.lower() 变小写
    name.upper() 变大写
    name.title() 每个首字母大写

    name.startwith() 判断 以 开头
    name.endswith() 判断 以 结尾

    .expendtabs(20) 设置tab扩展的长度

    .isdecimal 正整数 1111
    .isdigit 更常用
    .isunmeric 更广泛

    .isalnum 字母或数字
    .isalpha 字母

    .isidentifier 是不是合法的关键字/变量名
    .islower 判断小写
    .isupper 判断大写
    .swapcase 大小写转换
    .casefold 全部小写 字符串匹配的时候
    .istital 是否英文标题, 首字母大写

    .isprintable 是否可打印
    .isspace 是否空格

    格式化打印:
    'ajflfn'.center(40,'$') 居中对齐 可设置长度 和补齐的符号
    'fesrge'.ljust(50,'*') 左对齐 可设置长度 和补齐的符号
    'ahfjefh'.rjust(60,'#') 右对齐 可设置长度 和补齐的符号
    'njdfkn'.zfill() 右对齐 用0填充

    list 操作:
    列表:
    创建:name = [ ]
    name = list(元素)
    : name[index] 返回索引对应的元素
    索引 name[1].index('element') 返回元素的索引或下标
    切片name[1:3] 返回元素值 ,顾头不顾尾 设定步长
    统计元素出现的次数 name.count('')
    len(name) 统计列表内元素的个数
    增加:
    追加 name.append("") 增加1个
    插入 name.insert(index,'element') 指定位置添加
    name.extend([7,8]) 增加多个
    : name[name.index('element')] = '' 利用元素修改
    name[index] = 'newname' 利用索引修改
    删除 name.pop(index) default 删除最后一个元素 返回删除的值
    name.remove('element') 指定元素删除
    del name[index] 可以删除整个列表 也可以指定位置删除
    name.clear() 清空元素
    扩展/合并 name.extend(name2) name = name + name2
    反转 name.reverse()
    排序 name.sort(reverse = True) 排序后反转 数字和字母不能排序 根据ASCII码表排序
    copy name2 = name.copy() name2的元素不随name的改变而改变 因为:内存的工作机制
    遍历:for i,v in enmu:
    print(i.v)



    dict key : value 键唯一 字典是无序的
    唯一具有映射关系的数据类型,查询数据速度快,高于列表
    键唯一 且 可变类型
    names = {
    123:{'liuliu : 22','mumu : 22','huahua: 55','honghong : 88'},# 字典
    345:['kouxiangtang','yinliao','fangbianmian'],# 列表
    456:(45,676,56546,454,'sfjdskdlg'),# 元组
    'school':'jin', #字符串
    112:112# 数字
    }

    #增
    names[222] = 'mick' # 增加元素
    names[345].append(113) # 只有元素中的列表能够追加内容

    #删
    print(names.pop(123)) #利用key来删除元素,返回元素值
    del names[112] # 直接删除元素
    print(names.popitem()) #随机删除一个元素,返回元素值

    #查
    print(names) #打印字典内所有内容
    print(names[345])# 打印 key对应的元素值 元组不可查找
    print(names.get(20))# 如果查找的元素不存在,不会报错,返回None
    print(names.setdefault(key,value)# 查找key对应的值,如果没有就添加key及默认值
    print(names.keys())# 查找 字典全部的键
    print(names.values())# 查找字典全部的值
    print(113 in names) # 判断字典里是否有这个key
    #改
    names['oldkey'] = 'value' 根据键修改值
    names[345][0] = 'wuwu : 56' # 根据索引修改值 修改字典中某一列表的元素 ,元组不可修改,字典不适用
    print(names)
    #循环
    for i in names:
    print(i, names[i])
    for k,v in names.items(): # 不要用,效率低
    print(k,v)
    #扩展 将两个字典合并,重合的元素以更新后的值为准
    names2 = {
    222: 'tom',
    333 : 'alex'
    }
    names.update(names2)
    print(names)
    #字典的copy 内存回收机制 变量的工作机制
    # 应用场景 :银行的正副卡共享
    account = {
    'name': 'liuliu ',
    'id': 1234,
    'info':[200,20]
    }

    account2 = account.copy()
    account2['name'] = '骗子'
    account['info'][1] += 30
    print(account,' ',account2)

    #新建一个字典
    print(dict.fromkeys([1,2,3],'test'))

    
    
  • 相关阅读:
    状压dp学习笔记
    dbcc log(转)
    日志分析 操作(转)
    Sql server 2005系统表详细说明
    c#读取并分析sqlServer据库日志(转)
    [POJ]1915 Knight Moves
    [JOY]1143 飘飘乎居士的约会
    [POJ]1164 The Castle
    win7注册ocx时出现对DllRegisterServer的调用失败,错误代码为0x80040200解决方案
    注册DLL、OCX的方法
  • 原文地址:https://www.cnblogs.com/liuguniang/p/6646106.html
Copyright © 2011-2022 走看看