zoukankan      html  css  js  c++  java
  • Python基础二

    一 、列表 list、元组操作

      a. 列表的操作 (通过下标访问列表中的元素,下标从0开始计数)

        list_test = [1,2,3]

        1. 增加:list_test.append(4)---> 结果:[1,2,3,4];

        2. 删除:list_test.pop(2) / list_test.remove(3) / del list_test[2] --->结果:[1,2];

        3. 修改:list_test[0] = 5--->结果:[5,2,3];

        4. 查看:x = list_test[1] --->结果:x = 2; y = list_test.index(2)--->结果:y = 1; 

        5. 插入:list_test.insert(1,7)--->结果:[1,7,2,3]

        6. 反转:list_test.reverse()--->结果:[3,2,1]

        7. 切片:list_test [0:2]--->结果:[1,2]  # 取下标0至下标2之间的数字,包括0,不包括2;

        8. 扩展:list_test1 = ['gang','zi'] --> list_test.extend(list_test1)-->list_test = [1,2,3,'gang','zi'] 

        9. 浅cope(直接量复制的是值,引用复制的是地址):(1).import copy  list_test1 = copy.copy(list_test) (2). list_test2 = list_test[:] (3).list_test3 = list(list_test);

        10. 按步长操作:list_test[::2]--->结果[1,3];

        11. 统计:z = list_test.count(2)--->结果:z = 1;

        12. 排序: list_test.sort(); # 3.0里不同数据类型不能放在一起排序;

        13. 获取下标:list_test.index(2)---> 1 # 只返回找到的第一个下标;

      b. 元组是特殊的列表,只可以查看不可修改,又称为只读列表。

    二、字符串操作 (不可修改)

      str_test = "i have a dream" --->

      1. 拼接:print('-'.join(["1","2","3"])) --->结果:1-2-3 <class 'str'>;

      2. 句子首字母大写:str_test.capitalize()--->结果:"I have a dream";

      3. 统计字符在整句中出现的次数:str_test.count('a')--->结果:3 ;

      4. 居中填补指定符号:str_test.center(20,'-')--->结果:---i have a dream---;

      5. 判断是否依指定字符结尾:str_test.endwith('am')--->结果:True;

      6. 返回指定字符在句子中的开始下标:str_test.find('have')--->结果:2 ;

      7. 句子中参数替换:str_test = "i {name} have a {some} dream" --->str_test.format(name="gangzi",some="big")) / name.format_map( {'name':'gangzi','some':'big'} )

      8. 判断是否是数字:'a123-'.isalnum()--->False;

      9. 判断是否是字母:'ab'.isalpha()--->True;

      10. 判断是否是整数:'10'.isdecimal()---->True;

      11. 判断是否是整数(常用):'10'.isdigit()--->True;

      12. 判断是不是一个合法的标识符:print('aa1'.isidentifier()) --->True # (是否符合变量名规则);

      13. 是否为数值格式'33.0'.isnumeric()--->False;

      14. 检查是否为标题格式:str_test.istitle()--->False;

      15. 检查是否是可打印文件:print(str_test.isprintable())--->True  # tty file,drive file;

      16. 检查是否大写:str_test.isupper()--->False;

      17. 指定字符补充:print(str_test.ljust(30,'-'))--->i {name} have a {some} dream--; # 同理 str_test.rjust(30,'-');

      18. 小写转换:str_test.lower()--->i {name} have a {some} dream;

      19. 大写转换:str_test.upper()--->I {NAME} HAVE A {SOME} DREAM;

      20. 截空:str_test.lstrip() / str_test.rstrip() / str_test.strip()

      21. 匹配替换(转译):p = str.maketrans('abcdefg','1234567')--->print(str_test.translate(p))--->结果:i {n1m5} h1v5 1 {som5} 4r51m;

      22. 转换字符:print(str_test.replace('n','N',1))--->结果:i {Name} have a {some} dream;

      23. 从右侧开始查找:print(str_test.rfind('n'))---->结果:3 ;

      24. 按/t分:print(str_test.split(' '))--->['i {name} have a {some} dream'] <class 'list'>;

      25. 按行分:print(str_test.splitlines())--->['i {name} have a {some} dream'] <class 'list'>;

      26. 大小写转换:str_test.swapcase()--->I {NAME} HAVE A {SOME} DREAM;

      27. 标题格式-单词首字母大写:str_test.title()--->I {Name} Have A {Some} Dream;

      28. 左补充0:str_test.zfill(30)--->00i {name} have a {some} dream;

    三、字典操作 (dict是无序的,key必须唯一)

      1. 单个增: dict_test.setdefault(k,v) # 如果字典中有与k同名的键值对,则不做任何修改否则增加;

      2. 多个增:dict_test.update(dict_test1) # 将字典dict_test1中的键值对添加到字典dict_test中,同名k做修改操作;

      3. 修改:dict_test['v'] = new_v;

      4. 删除一个:dict_test.pop('v'); 或者 del dict_test['v'];

      5. 随机删一个:dict_test.popitem();

      6. 高效遍历:for k in dict_test: print(k,dict_test[k]);

      7. 低效遍历:for k,v in dict_test.items: print(k,v); # 因为需要先将字典转换为列表;

      8. 列表创建字典 举例:dict_test = dict.fromkeys([1,2,3],['name','age','sex']) ---> dict_test = {1:['name','age','sex'], 2: ['name','age','sex'], 3: ['name','age','sex']}; # 注意这里是浅cope。

    四、集合操作 (一个无序的,不重复的数据组合)

      1. 把一个列表变成集合,就自动去重了:set_test = set([1,1,2,3])--->set_test = {1,2,3};

      2. 并集union:| ;

      3. 交集intersection:& ;

      4. 差集difference:- ;

      5. 对称差集symmetric_difference:^ ;

      6. 添加一项:set_test.add('x);

      7. 添加多项:set_test.update(['x','y']);

      8. 删除一项:set_test.remove('x');

      9. set的长度: len(set_test);

      10. 判断x是否为set_test的成员:x in set_test  ; # x is not in set_test ;

      11. 判断是否是子集:set_test1.issubset(set_test) 或者 set_test1 <= set_test # set_test1是否为set_test的子集;

      12. 判断是否是父集:set_test.siuperset(set_test) 或者 set_test >= set_test1 # set_test是否为set_test1的父集;

      13. 复制:set_test1 = set_test.copy() # 浅复制。

    五、文件操作

      1. 获得文件句柄:f = open('file_name','w',encoding='utf-8') # 文件打开模式w/r/a/w+/r+/a+/rU/rb/wb/ab/;

      2. 文件读取:f.read() / f.readline();

      3. 文件写入:write();

      4. with语句:with open() as f:……。

    六、字符编码与转码 

      1. Python2默认编码是ASCII,Python3默认编码是Unicode;

      2. unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(英文1字节,汉字3字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf-8省空间;

      3. 在Python3中:decode,在解码会把string 变成bytes类型,encode编码会把bytes变回string。

  • 相关阅读:
    Dart中的类型转换总结:
    【Dart学习】--Dart之数组(List)的相关方法总结
    Navigator的使用:
    001——Angular环境搭建、运行项目、搭建项目
    Dart中的数据类型转换:
    Flutter中的Stack、Align、Positioned的使用
    Flutter设置图片为正方形
    顶部导航TabBar、TabBarView、DefaultTabController
    《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <二> NSMutableString
    Swift随记
  • 原文地址:https://www.cnblogs.com/gangzi4321/p/10868725.html
Copyright © 2011-2022 走看看