zoukankan      html  css  js  c++  java
  • Day 4-集合、百分号拼接及函数

    1.数据类型和变量总结

    (1)五大基本数据类型:字符串 数字 列表 元组 字典

    按元素可变不可变可分为:

          可变:列表、字典

          不可变:字符串、数字、元组

    按访问顺序:

    1.直接访问:数组

    2.顺序访问:字符串、列表、元组

    3.映射访问:字典(无序,但查询速度比较快,但占内存高,因为内部维护字典的映射关系)

    按存放元素个数:

    容器类型(可存放多个值):列表、元组、字典

    原子:数字、字符串

    2.集合(由不同元素组成(会去重复值),集合中是一组无序排列的可hash值,既不可变类型(数字、字符串、元组),可以作为字典的key)

    定义字典 s={1,2,3,4,5} 或者 s=set(‘hello’) 输出时为: h l o e 无序的,内部做了一次for循环

    s=set([‘alex’, ’alex’, ‘sb’])

    print(s) 输出值为{‘alex’,’sb’}

    3.集合内置功能

    (1)add(添加)  s.add(‘sb’)

    (2)clear(清空)

    (3)copy(拷贝一份)  v=s.copy()

    (4)pop(随机删除) s.pop()

    (5)remove(指定删除)  s.remove(‘sb’) 若没有这个元素 就会报错

    (6)discard(指定删除) s.discard(‘ssss’) 若没有这个元素,不会报错

    4.集合关系运算

          1.   求交集

               a={1,2,4,5,8}

               b={2,3,4}

               print(a.intersection(b)) 或者 print(a&b)

          2.求并集

               a={1,2,4,5,8}

               b={2,3,4}

               print(a.union(b)) 或者 print(a|b)

          3.求差集

               a={1,2,4,5,8}

               b={2,3,4}

               print(a.difference(b)) a有b没有的 print(a-b)

          4.交叉补集

               Print(a.symmetric_difference(b)) 或者 print(a^b)

               双方除去交集

          5.difference.update() 把a-b的差集赋值给a

          Intersection.update() 把交集赋值给a

          6.isdisjoint() 若两个集合交集为空,则返回True print(a.isdisjoint(b))

          7.issubset() print(a.issubset(b)) 判断a是不是b的子集 True   

               Issuperset() 判断是否是父集

          8.update() a.update(b) 更新多个值 把b有a没有的加入给a

          9.集合是可变类型

          如要不可变,有另一种设置方法 s=frozenset(‘hello’)

          10.简单去重

               a={1,2,3,2}

               s=set(a)

               print(s)

               a=list(s) 

               a=list(set(a))

    5.字符串格式化

          字符串拼接

          a=’I am %s ,I am from %s’ % (’chris’, ‘Shenzhen’) %s表示拼接一个字符串类型,万能,其他值的类型也可传输。%d 只能用来传输数字,最好对应,可读性较强

    6,.打印浮点数(既小叔)

          a=’percent is %.2f’ %99.2345

    print(a) 

    .2表示保留两位小数 会四舍五入 基础为%f

    7.打印百分比

          a=’sgag %.2f %%’ 两个百分号

    8.传输字典

          a=’I am %(name)s %(age)d ’ %{‘name’:’chris,’age’:21}

    9.百分号方式

     - 左对齐

     + 右对齐

    例子:a=’I am %-20s’ 左对齐缩进20个位置

          如要加颜色: a=’I am 33[43;1m %-20s 33[0m’

    10. format 字符串格式化

          a=’I am {},age{}’.format(‘chris’,21) 这要一一对应,不可少

          或者a=’I am {1},age{0}’.format(‘chris’,21) 此时值相反

    或者字典的方式

          a=’I am {name},age{age}’.format(name=‘chris’,age=21)

          字典类型时:等同于a=’I am {name},age{age}’.format(**{name:‘chris’,age:21})

          a=’I am {:s},age{:d}, d{:f}’.format( ‘chris’,21,99.6)

    列表形式传输值时

    a=’I am {:s},age{:d}.format(*[‘chris’,21])

    11.定义函数(返回值可以是多个,以元组来承载)

    def test(函数名) (x):

          ‘’‘’注释

          X+=1 指代码块或程序处理逻辑

          Return X

    使用:

          def test(x):

          ‘’

          y=2*x+1

          return y

    a=test(3)

    print(a) 此时输出结果就为7

    11.定义一个过程

          过程就是不包含返回值

    12.函数参数  形参 实参

          def test(x,y):  此时X Y就为形参 不占内存

               a=x**y

               return a

          b=test(2,3)此时2,3就是实参  也称位置参数 与X Y一一对应

          关键字参数 b=test(y=3,x=2) 此时XY就是关键字参数 无需一一对应 缺一不行多一不行

          如果混合使用,位置参数必须在关键字参数左边

    13.默认参数

          def sql(x,y=’chris’):  此时y为默认参数,可以后期覆盖

               print(x)

               print(y)

          sql(26,y=’joe’)

    14.参数组 **字典(**kwargs) *列表(*args) 增加了可扩展性 可以不传值

      def test(x,*a):
        print(x)
        print(a)
    test('采集',2,453,54,{‘sfsag’:’sfg’})

    若要传列表,且以原形式输出, 则需加*  test(8,*[‘a’,’d’,’c’])

    若要传多个值,以字典形式,可以用索引

    def test(x,**kwargs):
        print(x)
        print(kwargs,kwargs[z])
    test('采集',y=2,z=453,t=54) 记住一个参数不能传两个值

    此时输出值为:

    采集

    {'y': 2, 'z': 453, 't': 54} 

    混合使用时:

          Def test(x,*args,**kwargs) 顺序必须是这样,应为args接收的是位置参数 test(2,214,213,44,name=’fsf’,ss=’asggg’)

               也可以这种方式 test(1,*[2,3,1],**{‘a’:2}

  • 相关阅读:
    使用zinnia制作android手写输入功能(上)编译zinnia
    Raphael实例
    正则表达式 笔记
    已知弧长和弦长求半径
    Raphael参考 翻译完毕
    在chorme中查找多余的css规则
    CSS3中Transform
    手机移动端WEB资源整合
    JS判断移动设备最佳方法 并实现跳转至手机版网页
    让IE和Firefox兼容的CSS技巧集合css hack
  • 原文地址:https://www.cnblogs.com/caixiaowu/p/12247839.html
Copyright © 2011-2022 走看看