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. 找到制表符\t,进行替换(包含前面的值) 62 #PS: \n 63 # name = "al\te\tx\nalex\tuu\tkkk" 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 = "钓鱼要钓刀鱼,\n刀鱼要到岛上钓" 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,移除空白,\n,\t,自定义 179 # name = ‘alex\t‘ 180 # v = name.strip() # 空白,\n,\t 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)
时间: 2024-10-14 08:20:25