zoukankan      html  css  js  c++  java
  • 7、str字符串、int整数、list列表、dict字典、set集合、tuple元祖功能详解

      1 ######################################## str 字符串 及类中的各种技能##########################################
      2 
      3 # 1. capitalize 字符串首字母大写
      4 # 自身不变,会生成一个新的值
      5 # name = 'deasion' # str类的对象
      6 # v = name.capitalize() # 自动找到name关联的str类,执行其中的capitalize技能
      7 # print(v)
      8 
      9 # 2. 将所有大小变小写,casefold
     10 # name = 'DeasioN'
     11 # v = name.casefold() # 更牛,也可把德语及其他语言变小写
     12 # print(v)
     13 
     14 # 3. 将所有大小变小写,只作用于英文字母
     15 # name = 'DeasioN'
     16 # v = name.lower()
     17 # print(v)
     18 
     19 # 4. 文本居中
     20 # 参数1: 表示总长度
     21 # 参数2:空白处填充的字符(长度为1)
     22 # name = 'deasion'
     23 # v = name.center(20)
     24 # print(v)
     25 # v = name.center(20,'*')
     26 # print(v)
     27 
     28 # 5. 表示传入值在字符串中出现的次数
     29 # 参数1: 要查找的值(子序列)
     30 # 参数2: 起始位置(索引)
     31 # 参数3: 结束位置(索引)
     32 # name = "dassdasdfdsafsdfasdfaaaaaaaa"
     33 # v = name.count('a')
     34 # print(v)
     35 # v = name.count('df')
     36 # print(v)
     37 
     38 # v = name.count('df',12)
     39 # print(v)
     40 # v = name.count('df',0,15)
     41 # print(v)
     42 
     43 # 6. 是否以xx结尾
     44 # name = 'deasion'
     45 # v1 = name.endswith('on')
     46 # print(v1)
     47 
     48 # 7. 是否以xx开头
     49 # name = 'deasion'
     50 # v2 = name.startswith('de')
     51 # print(v2)
     52 
     53 # 8. ****encode转换成字节****
     54 # name = "李杰"
     55 # v1 = name.encode(encoding='utf-8') # 字节类型
     56 # print(v1)
     57 # v2 = name.encode(encoding='gbk') # 字节类型
     58 # print(v2)
     59 
     60 
     61 # 9. 找到制表符	,进行替换(包含前面的值)
     62 #PS: 
    
     63 # name = "al	e	x
    alex	uu	kkk"
     64 # v = name.expandtabs(20)
     65 # print(v)
     66 
     67 # 10. 找到指定子序列的索引位置:不存在返回-1
     68 # name = 'alex'
     69 # v = name.find('o')
     70 # print(v)
     71 # index 如果子序列没有值,就会返回报错
     72 # v = name.index('e')
     73 # print(v)
     74 
     75 # 11.字符串格式化
     76 
     77 # 第一种
     78 #  tpl = "我是:%s;年龄:%s;性别:%s"
     79 # 第二种:
     80 # tpl = "我是:{0};年龄:{1};性别:{2}"
     81 # v = tpl.format("李杰",19,'都行')
     82 # print(v)
     83 # 第三种
     84 # tpl = "我是:{name};年龄:{age};性别:{gender}"
     85 # v = tpl.format(name='李杰',age=19,gender='随意')
     86 # print(v)
     87 
     88 # tpl = "我是:{name};年龄:{age};性别:{gender}"
     89 # v = tpl.format_map({'name':"李杰",'age':19,'gender':'中'})
     90 # print(v)
     91 
     92 
     93 # 12. 是否是数字、汉字.
     94 # name  = '哈哈'
     95 # v = name.isalnum() # 字,数字
     96 # print(v) # True
     97 #
     98 # v2 = name.isalpha()#字母、汉字,没有数字
     99 # print(v2)# False
    100 
    101 # 13. 判断是否是数字
    102 # num = '②'
    103 # v1 = num.isdecimal() # '123'
    104 # v2 = num.isdigit()   # '123','②'
    105 # v3 = num.isnumeric() # '123','二','②'
    106 # print(v1,v2,v3)
    107 
    108 
    109 # 14. 是否是标识符
    110 # n = 'name'
    111 # v = n.isidentifier()
    112 # print(v)
    113 
    114 # 15.是否全部是小写
    115 # name = "alsX"
    116 # v = name.islower()
    117 # print(v)
    118 # 是否全部是大写
    119 # v = name.isupper()
    120 # print(v)
    121 
    122 # 16,.全部变大写,
    123 # name = 'aleX'
    124 # v = name.upper()
    125 # print(v)
    126 # 全部变小写
    127 # v = name.lower()
    128 # print(v)
    129 
    130 # 17.是否包含隐含的xx
    131 # name = "钓鱼要钓刀鱼,
    刀鱼要到岛上钓"
    132 # v = name.isprintable()
    133 # print(v)
    134 
    135 
    136 # 18.是否全部是空格
    137 # name = '    '
    138 # v = name.isspace()
    139 # print(v)
    140 
    141 
    142 
    143 # 19.元素拼接(元素字符串) *****
    144 
    145 # name = 'alex'
    146 # v = "_".join(name) # 内部循环每个元素
    147 # print(v)
    148 #
    149 # name_list = ['海峰','杠娘','s杰','小四']
    150 # v = "搞".join(name_list)
    151 # print(v)
    152 
    153 # 20. 左右填充
    154 # center,rjust,ljust
    155 # name = 'alex'
    156 # v = name.rjust(20,'*')
    157 # print(v)
    158 
    159 
    160 # 21. 对应关系 + 翻译
    161 # m = str.maketrans('aeiou','12345') # 对应关系
    162 # name = "akpsojfasdufasdlkfj8ausdfakjsdfl;kjer09asdf"
    163 # v = name.translate(m)
    164 # print(v)
    165 
    166 # 22. 分割,保留分割的元素
    167 # content = "李泉SB刘康SB刘一"
    168 # v = content.partition('SB') # partition
    169 # print(v)
    170 
    171 # 23. 替换
    172 # content = "李泉SB刘康SB刘浩SB刘一"
    173 # v = content.replace('SB','Love')
    174 # print(v)
    175 # v = content.replace('SB','Love',1) # 1表示替换一个
    176 # print(v)
    177 
    178 # 24,移除空白,
    ,	,自定义
    179 # name = 'alex	'
    180 # v = name.strip() # 空白,
    ,	
    181 # print(v)
    182 
    183 # 25. 大小写转换
    184 # name = "Deasion"
    185 # v = name.swapcase()
    186 # print(v)
    187 
    188 # 26. 填充0
    189 # name = "alex"
    190 # v = name.zfill(20)
    191 # print(v)
    192 
    193 # 27.字符串隐藏的__add__
    194 # v1 = 'alex'
    195 # v2 = 'eric'
    196 # v = v1 + v2 # 执行v1的__add__功能
    197 # print(v)
    198 
    199 
    200 ###### 字符串功能总结:
    201 # name = 'alex'
    202 # name.upper()
    203 # name.lower()
    204 # name.split()
    205 # name.find()
    206 # name.strip()
    207 # name.startswith()
    208 # name.format()
    209 # name.replace()
    210 # "alex".join(["aa",'bb'])
    211 
    212 
    213 # ##### 额外功能:
    214 # name = "alex"
    215 # name[0]
    216 # name[0:3]
    217 # name[0:3:2]
    218 # len(name)
    219 # for循环,每个元素是字符
    220 
    221 
    222 # 练习题
    223 # name = "aleX"
    224 # a
    225 # v = name.strip()
    226 # print(v)
    227 # b
    228 # v = name.startswith('al')
    229 # print(v)
    230 # v = name.replace('l','p')
    231 # print(v)
    232 
    233 # v = name.split('l')
    234 # print(v) # 列表
    235 
    236 # **** 转换成字节 ****
    237 # name = "李杰"
    238 # v1 = name.encode(encoding='utf-8') # 字节类型
    239 # print(v1)
    240 # v2 = name.encode(encoding='gbk') # 字节类型
    241 # print(v2)
    242 
    243 
    244 # ########################################## int 整数 ##########################################
    245 
    246 # 1. 当前整数的二进制表示,最少位数
    247 # age = 4 # 100
    248 # print(age.bit_length())
    249 
    250 # 2. 获取当前数据的字节表示
    251 # age = 15
    252 # v = age.to_bytes(10,byteorder='big')
    253 # #v = age.to_bytes(10,byteorder='little')
    254 # print(v)
    255 # #00000000 00001111 -> 15
    256 
    257 # ########################################## bool 布尔值 ##########################################
    258 # v = 0 # 1,-1
    259 # v = ""
    260 # v = []
    261 # --> 空内容:False
    262 
    263 # ########################################## list 列表 ##########################################
    264 # ## int=xx; str='xxx'  list='xx'
    265 # user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
    266 # PS:
    267     # name = 'alex'
    268 # 执行功能;
    269 # 1.追加
    270 # user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
    271 # user_list.append('刘铭')
    272 # print(user_list)
    273 # 2. 清空
    274 # user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
    275 # user_list.clear()
    276 # print(user_list)
    277 
    278 # 3. 拷贝(浅拷贝)
    279 # user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
    280 # v = user_list.copy()
    281 # print(v)
    282 # print(user_list)
    283 
    284 # 4. 计数
    285 # user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    286 # v = user_list.count('李泉')
    287 # print(v)
    288 
    289 # 5. 扩展原列表
    290 # user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    291 # user_list.extend(['郭少龙','郭少霞'])
    292 # print(user_list)
    293 
    294 # 6. 查找元素索引,没有报错
    295 # user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    296 # v = user_list.index('李海')
    297 # print(v)
    298 
    299 # 7. 删除并且获取元素 - 索引
    300 # user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    301 # v = user_list.pop(1)
    302 # print(v)
    303 # print(user_list)
    304 
    305 # 8. 删除 - 值
    306 # user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    307 # user_list.remove('刘一')
    308 # print(user_list)
    309 
    310 # 9. 翻转
    311 # user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
    312 # user_list.reverse()
    313 # print(user_list)
    314 
    315 # 10. 排序: 欠参数
    316 # nums = [11,22,3,3,9,88]
    317 # print(nums)
    318 # #排序,从小到大
    319 # nums.sort()
    320 # print(nums)
    321 # #从大到小
    322 # nums.sort(reverse=True)
    323 # print(nums)
    324 
    325 ######  额外:
    326 # user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙']
    327 # user_list[0]
    328 # user_list[1:5:2]
    329 # del user_list[3]
    330 # for i in user_list:
    331 #     print(i)
    332 # user_list[1] = '姜日天'
    333 # user_list = ['李泉','刘一','李泉','刘康','豆豆',['日天','日地','泰迪'],'小龙']
    334 
    335 
    336 li = ['eric','alex','tony']
    337 
    338 v = len(li)
    339 print(v)
    340 #
    341 # li.append('seven')
    342 # print(li)
    343 #
    344 # li.insert(0,'Tony')
    345 # print(li)
    346 #
    347 # li[1] = 'Kelly'
    348 #
    349 # li.remove('eric')
    350 # print(list)
    351 #
    352 # v = li.pop(1)
    353 # print(v)
    354 # print(li)
    355 #
    356 # del li[2]
    357 
    358 
    359 # del li[0:2] # 0 =<x < 2
    360 # print(li)
    361 
    362 # li.reverse()
    363 # print(li)
    364 
    365 # for i in li:
    366 #     print(i)
    367 
    368 # ######################################### 强插:range,enumrate #########################################
    369 # 1. 请输出1-10
    370 # 2.7: 立即生成所有数字
    371 # range(1,11) # 生成 1,23,,4,56.10
    372 
    373 # 3.x: 不会立即生成,只有循环迭代时,才一个一个生成
    374 # for i in range(1,11): #
    375 #     print(i)
    376 
    377 # for i in range(1,11,2): #
    378 #     print(i)
    379 
    380 # for i in range(10,0,-1): #
    381 #     print(i)
    382 
    383 # 1. 3.x 不会立生成,迭代之后才一个一个创建;
    384 # """
    385 #     - 2.7:
    386 #         range()
    387 #         xrange()  不会立生成,迭代之后才一个一个创建;
    388 #     - 3.x
    389 #         range()  不会立生成,迭代之后才一个一个创建;
    390 # """
    391 # 2. range: 三个参数
    392 #
    393 li = ['eric','alex','tony']
    394 # range,len,li循环
    395 for i in range(0,len(li)):
    396     ele = li[i]
    397     print(ele)
    398 
    399 
    400 # li = ['eric','alex','tony']
    401 # for i in li:
    402 #     print(i)
    403 
    404 # li = ['eric','alex','tony']
    405 # for i in range(0,len(li)):
    406 #     print(i+1,li[i])
    407 
    408 
    409 # enumerate额外生成一列有序的数字
    410 # li = ['eric','alex','tony']
    411 # for i,ele in enumerate(li,1):
    412 #     print(i,ele)
    413 #
    414 # v = input('请输入商品序号:')
    415 # v = int(v)
    416 # item = li[v-1]
    417 # print(item)
    418 
    419 # ######################################### tuple:元组,不可被修改的列表;不可变类型 #########################################
    420 # user_tuple = ('alex','eric','seven','alex')
    421 # 1. 获取个数
    422 # v = user_tuple.count('alex')
    423 # print(v)
    424 # 2.获取值的第一个索引位置
    425 # v = user_tuple.index('alex')
    426 # print(v)
    427 
    428 ####### 额外:
    429 # user_tuple = ('alex','eric','seven','alex')
    430 # for i in user_tuple:
    431 #     print(i)
    432 
    433 # v = user_tuple[0]
    434 
    435 # v = user_tuple[0:2]
    436 # print(v)
    437 
    438 # user_tuple = ('alex','eric','seven',['陈涛','刘浩','赵芬芬'],'alex')
    439 # user_tuple[0] = 123   x
    440 # user_tuple[3] = [11,22,33] x
    441 # user_tuple[3][1] = '刘一'
    442 # print(user_tuple)
    443 
    444 # li = ['陈涛','刘浩',('alex','eric','seven'),'赵芬芬']
    445 # ****** 元组最后,加逗号 ******
    446 # li = ('alex',)
    447 # print(li)
    448 
    449 # ######################################### dict:字典: 可变类型 #########################################
    450 
    451 # 1. 清空、
    452 # dic = {'k1':'v1','k2':'v2'}
    453 # dic.clear()
    454 # print(dic)
    455 
    456 # 2. 浅拷贝
    457 # dic = {'k1':'v1','k2':'v2'}
    458 # v = dic.copy()
    459 # print(v)
    460 
    461 # 3. 根据key获取指定的value;不存在不报错
    462 # dic = {'k1':'v1','k2':'v2'}
    463 # v = dic.get('k1111',1111)
    464 # print(v)
    465 # v = dic['k1111']
    466 # print(v)
    467 
    468 # 4. 删除并获取对应的value值
    469 # dic = {'k1':'v1','k2':'v2'}
    470 # v = dic.pop('k1')
    471 # print(dic)
    472 # print(v)
    473 
    474 # 5. 随机删除键值对,并获取到删除的键值
    475 # dic = {'k1':'v1','k2':'v2'}
    476 # v = dic.popitem()
    477 # print(dic)
    478 # print(v)
    479 
    480 # dic = {'k1':'v1','k2':'v2'}
    481 # k,v = dic.popitem() # ('k2', 'v2')
    482 # print(dic)
    483 # print(k,v)
    484 
    485 # dic = {'k1':'v1','k2':'v2'}
    486 # v = dic.popitem() # ('k2', 'v2')
    487 # print(dic)
    488 # print(v[0],v[1])
    489 
    490 # 6. 增加,如果存在则不做操作
    491 # dic = {'k1':'v1','k2':'v2'}
    492 # dic.setdefault('k3','v3')
    493 # print(dic)
    494 # dic.setdefault('k1','1111111')
    495 # print(dic)
    496 
    497 # 7. 批量增加或修改
    498 # dic = {'k1':'v1','k2':'v2'}
    499 # dic.update({'k3':'v3','k1':'v24'})
    500 # print(dic)
    501 
    502 
    503 # dic = dict.fromkeys(['k1','k2','k3'],123)
    504 # print(dic)
    505 # dic = dict.fromkeys(['k1','k2','k3'],123)
    506 # dic['k1'] = 'asdfjasldkf'
    507 # print(dic)
    508 
    509 # dic = dict.fromkeys(['k1','k2','k3'],[1,])
    510 # dic = {
    511 #    k1: 123123213, # [1,2]
    512 #    k2: 123123213, # [1,]
    513 #    k3: 123123213, # [1,]
    514 # }
    515 # dic['k1'].append(222)
    516 # print(dic)
    517 # ########## 额外:
    518 # - 字典可以嵌套
    519 # - 字典key: 必须是不可变类型
    520 # dic = {
    521 #     'k1': 'v1',
    522 #     'k2': [1,2,3,],
    523 #     (1,2): 'lllll',
    524 #     1: 'fffffffff',
    525 #     111: 'asdf',
    526 # }
    527 # print(dic)
    528 # key:
    529 #     - 不可变
    530 #     - True,1
    531 
    532 # dic = {'k1':'v1'}
    533 # del dic['k1']
    534 
    535 # 布尔值:
    536 # 1 True
    537 # 0 False
    538 #
    539 # bool(1111)
    540 
    541 
    542 # ##################################### set,集合,不可重复的列表;可变类型 #####################################
    543 # s1 = {"alex",'eric','tony','李泉','李泉11'}
    544 # s2 = {"alex",'eric','tony','刘一'}
    545 
    546 # 1.s1中存在,s2中不存在
    547 # v = s1.difference(s2)
    548 # print(v)
    549 # #### s1中存在,s2中不存在,然后对s1清空,然后在重新复制
    550 # s1.difference_update(s2)
    551 # print(s1)
    552 
    553 # 2.s2中存在,s1中不存在
    554 # v = s2.difference(s1)
    555 # print(v)
    556 
    557 # 3.s2中存在,s1中不存在
    558 # s1中存在,s2中不存在
    559 # v = s1.symmetric_difference(s2)
    560 # print(v)
    561 # 4. 交集
    562 # v = s1.intersection(s2)
    563 # print(v)
    564 # 5. 并集
    565 # v = s1.union(s2)
    566 # print(v)
    567 
    568 # 6. 移除
    569 # s1 = {"alex",'eric','tony','李泉','李泉11'}
    570 # s1.discard('alex')
    571 # print(s1)
    572 
    573 # s1 = {"alex",'eric','tony','李泉','李泉11'}
    574 # s1.update({'alex','123123','fff'})
    575 # print(s1)
    576 # ##### 额外:
    577 
    578 # s1 = {"alex",'eric','tony','李泉','李泉11'}
    579 # for i in s1:
    580 #     print(i)
    581 
    582 # s1 = {"alex",'eric','tony','李泉','李泉11',(11,22,33)}
    583 # for i in s1:
    584 #     print(i)
  • 相关阅读:
    Android基本功:Socket
    Javascript模板及其中的数据逻辑分离思想
    MFC,QT与WinForm,WPF简介
    GPIB、USB、PCI、PCI Express和以太网/LAN/LXI
    Office批量授权(VL)版本和激活方法
    Labview 错误1400-打包库封装类时将对类重命名导致
    console.log()
    a标签中href=""的几种用法
    正斜杠"/"与反斜杠""
    提问的艺术
  • 原文地址:https://www.cnblogs.com/deasion/p/6848267.html
Copyright © 2011-2022 走看看