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)
  • 相关阅读:
    ASP.NET MVC案例——————拦截器
    Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
    Windows Azure Storage (20) 使用Azure File实现共享文件夹
    Windows Azure HandBook (5) Azure混合云解决方案
    Windows Azure Service Bus (6) 中继(Relay On) 使用VS2013开发Service Bus Relay On
    Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP
    Windows Azure Service Bus (5) 主题(Topic) 使用VS2013开发Service Bus Topic
    Azure China (9) 在Azure China配置CDN服务
    Windows Azure Storage (19) 再谈Azure Block Blob和Page Blob
    Windows Azure HandBook (4) 分析Windows Azure如何处理Session
  • 原文地址:https://www.cnblogs.com/deasion/p/6848267.html
Copyright © 2011-2022 走看看