zoukankan      html  css  js  c++  java
  • 三、集合与格式化

    一、set:集合

    (a = {...  } 或 a = set(... ) 内部进行for循环,来表示集合)当a = frozenset(...  )时,集合表不可变类型,以下内置方法不可用。

    不同元素组成,无序,元素必须是不可变类型,集合本身是可变类型(不可变:字符串,数字,元组;可变:列表,字典,集合。)

    方法:

    1. add:添加;
    2. clear:清空;
    3. copy:拷贝;
    4. pop:随机删除;
    5. remove:加参数删除,元素不存在时报错;
    6. discard:加参数删除,元素不存在时不报错;
    7. intersection / &:求交集
      def intersection(self, *args, **kwargs)
       1 例:
       2 name1 = ['a','b','c','d']
       3 name2 = ['b','c','e','f']
       4 name1 = set(name1)
       5 name2 = set(name2)
       6 print(name1,name2)
       7 print(name1.intersection(name2))
       8 print(name1&name2)
       9 
      10 输出:
      11 {'d', 'a', 'b', 'c'} {'b', 'f', 'e', 'c'}
      12 {'b', 'c'}
      13 {'b', 'c'}
    8. union /  |:求并集
      def union(self, *args, **kwargs)
       1 例:
       2 name1 = ['a','b','c','d']
       3 name2 = ['b','c','e','f']
       4 name1 = set(name1)
       5 name2 = set(name2)
       6 print(name1.union(name2))
       7 print(name1|name2)
       8 
       9 输出:
      10 {'e', 'a', 'f', 'd', 'c', 'b'}
      11 {'e', 'a', 'f', 'd', 'c', 'b'}
    9. difference /  -:差集
      def difference(self, *args, **kwargs)
      1 例:
      2 name1 = {'a','b','c','d'}
      3 name2 = {'b','c','e','f'}
      4 print(name1.difference(name2))
      5 print(name2-name1)
      6 
      7 输出:
      8 {'d', 'a'}
      9 {'e', 'f'}
    10. difference_update:得出一个集合与其它集合交集外的元素。
      1 例:
      2 name1 = {'a','b','c','d'}
      3 name2 = {'b','c','e','f'}
      4 name1.difference_update(name2)
      5 #相当于: name1 = name1 - name2
      6 print(name1)
      7 
      8 输出:
      9 {'a', 'd'}
    11. symmetric_difference /  ^:交叉补集
      def symmetric_difference(self, *args, **kwargs)
      1 例:
      2 name1 = {'a','b','c','d'}
      3 name2 = {'b','c','e','f'}
      4 print(name1.symmetric_difference(name2))
      5 print(name1^name2)
      6 
      7 输出:
      8 {'d', 'a', 'e', 'f'}
      9 {'d', 'a', 'e', 'f'}
    12. isdisjoint:两个集合如果不存在交集,则返回True,否则False。
    13. issubset:如果第一个集合是第二个集合的子集,返回True;a < b , a.issubset(b) =True
    14. issuperset:第一个集合是第二个集合的父集,返回True;a < b , b.issuperset(a)  = True
    15. update:更新多个值,可以是元组、列表等
      def update(self, *args, **kwargs)
      1 例:
      2 name1 = {'a','b','c','d'}
      3 name2 = {'b','c','e','f'}
      4 name1.update(name2)
      5 print(name1)
      6 
      7 输出:
      8 {'d', 'b', 'f', 'e', 'c', 'a'}

    二、format:格式化

    1. %s:使用 % 号进行拼接,s 表字符串,可加字符串,数字,列表(%d:只能添加数字)
      1 例:
      2 msg = '%s is a %s.'%('Jack','boy')
      3 print(msg)
      4 
      5 输出:
      6 Jack is a boy.
    2. %f:打印浮点数,默认到小数点后6位,.2:表示精确到小数点后2位,%%:表示显示一个%
      1 例:
      2 a = 'percent %.2f %%' %99.8421155
      3 print(a)
      4 
      5 输出:
      6 percent 99.84 %
    3. key,value:通过键值对取值
      1 例:
      2 msg = '%(name)s age is %(age)d.'%{'name':'Jack','age':18}
      3 print(msg)
      4 
      5 输出:
      6 Jack age is 18.
      1 例:
      2 a = 'The number is %(num).2f' %{'num':12.333421}
      3 print(a)
      4 
      5 输出:
      6 The number is 12.33
    4. 百分号方式:
      %[(name)][(flags)][width].[precision]typecode
    • (name) :可选,用于指定key;
    • flags     :可选,包括以下的值:
      • +        右对齐,正数加正号,负数加负号;
      • -         左对齐,正数无符号,负数加负号;
      • 空格 右对齐,正数前加空格,负数加负号;
      • 0         右对齐,正数前无符号,负数加负号,用0填充空白;
    • width   :可选,占有宽度;
    • .precision:可选,小数点后保留的数;
    • typecode:必选。
      1 例:
      2 a = 'The number is 33[40;1m%(num)20.2f33[0m %%' %{'num':12.333421}
      3 print(a)
      4 
      5 输出:
      6 The number is                12.33 %
      33[40;1m......33[0m   #表示给这段范围内的内容添加颜色,40:颜色  
      %(num)20.2f     # 20 :表右对齐20个格子。

    .format方法:可用索引,键值对,列表等取值

    1 例:
    2 a = '{1} is a {0}.'.format('boy','Jack')
    3 print(a)
    4 
    5 输出:
    6 Jack is a boy.
    1 例:
    2 a = '{name} age is {age}.'.format(name='Jack',age=18)
    3 print(a)
    4 
    5 输出:
    6 Jack age is 18.
    1 例:
    2 a = '{:s},{:d},{:b},{:o},{:x},{:X},{:%},{:f}'.format('Jack',15,15,15,15,15,15,15.11)
    3 #字符串,整数,二进制,八进制,十六制作,十六进制大写,百分比,浮点数
    4 print(a)
    5 
    6 输出:
    7 Jack,15,1111,17,f,F,1500.000000%,15.110000
  • 相关阅读:
    java 16-8 泛型高级之通配符
    java 16 -7 泛型方法和泛型接口(泛型类相似)
    java 16-6 泛型
    java 16
    java 16 -4 LinkedList的特有功能
    java 16 -3 Vector的特有功能
    java 16-2 ArrayList的练习2
    java 16-1 ArrayList的练习1
    ll按时间排序和查看目录下文件数
    使用示例之线程调用自身
  • 原文地址:https://www.cnblogs.com/liqiongming/p/10045555.html
Copyright © 2011-2022 走看看