zoukankan      html  css  js  c++  java
  • python集合和eval的使用

    python集合和eval的使用
    创建集合
    使用工厂方法 set()和 frozenset():

    >>> s = set('cheeseshop')
    >>> s
    set(['c', 'e', 'h', 'o', 'p', 's'])
    >>> t = frozenset('bookshop')
    >>> t
    frozenset(['b', 'h', 'k', 'o', 'p', 's'])
    >>> type(s)
    <type 'set'>
    >>> type(t)
    <type 'frozenset'>
    

    更新集合
    用各种集合内建的方法和操作符添加和删除集合的成员:

    >>> s.add('z')
    >>> s
    set(['c', 'e', 'h', 'o', 'p', 's', 'z'])
    >>> s.update('pypi')
    >>> s
    set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y', 'z'])
    >>> s.remove('z')
    >>> s
    set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y'])
    >>> s -= set('pypi')
    >>> s
    set(['c', 'e', 'h', 'o', 's'])
    

    删除集合

    del set()
    

    成员关系 (in, not in)

    >>> s = set('cheeseshop')
    >>> t = frozenset('bookshop')
    >>> 'k' in s
    False
    >>> 'k' in t
    True
    >>> 'c' not in t
    

    集合等价/不等价

    >>> s == t
    False
    >>> s != t
    True
    >>> u = frozenset(s)
    >>> s == u
    True
    >>> set('posh') == set('shop')
    True
    

    差补/相对补集( – )
    两个集合(s 和t)的差补或相对补集是指一个集合C,该集合中的元素,只属于集合s,而不属于集合t。差符号有一个等价的方法,difference().

    >>> s - t
    set(['c', 'e'])
    

    对称差分( ^ ):对称差分是集合的XOR
    利用集合去除列表中的重复元素

    >>> xs = [5, 8, 5, 1, 1, 4, 2, 4, 3, 2]
    >>> set(xs)
    set([1, 2, 3, 4, 5, 8])
    >>> sorted(set(xs), key=xs.index) # 保持原来的顺序
    [5, 8, 1, 4, 2, 3]
    

    eval函数的使用
    1、计算字符串中有效的表达式,并返回结果

    >>> eval('pow(2,2)')
    4
    >>> eval('2 + 2')
    4
    >>> eval("81 + 4")
    85
    

    2、将字符串转成相应的对象(如list、tuple、dict和string之间的转换)

    >>> a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
    >>> b = eval(a)
    >>> b
    [[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
    >>> a = "{1:'xx',2:'yy'}"
    >>> c = eval(a)
    >>> c
    {1: 'xx', 2: 'yy'}
    >>> a = "(1,2,3,4)"
    >>> d = eval(a)
    >>> d
    (1, 2, 3, 4)
    

    有需要的话可以关注我的微信公众号,会第一时间接收最新的知识。

    image

  • 相关阅读:
    计算机作业(四)
    计算作业(三)衡阳汽车工程学院
    数制转换
    第十一次作业——PPT内容
    第三次作业——计算机用CMD命令关机建立文件夹
    第一次作业——PC端配置详细2017级机械设计新生杨路生
    PC端配置详细 2017级机械设计新生 刘林峰
    数制转换
    计算机基础作业 17级-车辆工程-周金霖
    计算机应用基础教程作业 车辆工程 冯大昕
  • 原文地址:https://www.cnblogs.com/liudemeng/p/11767165.html
Copyright © 2011-2022 走看看