Python基础二——列表,元组,字典,集合

在使用索引时,太大的索引会导致错误,而用于切片时,超出范围的切片索引会被得当处理

>>> a = list('123455')
>>> a[1:34]
['2', '3', '4', '5', '5']

列表

list[::-1]    可直接实现列表逆序


list.append()            可将元素添加到尾部

list1.extend(list2)    将一个列表合并到另一个列表,等同于+=

list.insert(int,item)  在int偏移量处插入元素,如果超过了尾部,则直接添加在列表最后

list.reverse()            反转列表元素

    reversed(list)函数也可以反转列表

删除列表元素

    del语句删除指定位置元素

        del list[-1]    #删除列表尾部元素

    list.remove(item)删除指定值的元素,删除列表中第一个等于item的元素

>>> mylist = ['a','b','a']
>>> mylist.remove('a')
>>> mylist
['b', 'a']

    list.pop(int)获取返回并删除指定位置的元素,int参数默认为-1

list.count(item)    记录特定值出现在列表中的次数

使用str.join(list)转换为字符串


重排元素

        列表方法list.sort()对原列表重排,改变原列表的内容    

        函数sorted(iterable)返回排序好的列表,原列表不变

            排序要求列表为同一类型,或者可以自动转换——整数或浮点数

            默认排序为升序,可以指定reverse=True参数,改为降序

列表赋值

            如果将列表赋值为多个变量,修改任意变量会造成其他变量对应的值也被修改

                    多个变量实际都是指向一个对象

复制列表

           list.copy()

                    a = b.copy()

            list()转换函数       a = list(b)

            列表分片    a = b[:]

元组

元组,不可变序列,tuple()


构造包含0个或1个元素的元组

            空的元组通过一对空的圆括号构造;

            只有一个元素的元组通过一个元素跟随一个逗号构造(仅用圆括号把一个值括起来是不够的)

通用序列操作

    x in s          如果s包含x,返回True,否则返回False
    x not in s    如果s包含x,返回False,否则返回True

    len(s)        s的长度
    min(s)       s的最小项
    max(s)      s的最大项
    sum(s,[initial])    各项的和,initial为初始值
    all(s)        检查s中各项是否为True

    any(s)      检查s中的任一项是否为True

    s*n          相当于将s添加到自身n


字典

字典{},dict()可将包含双值子序列的序列转化为字典

字典的键为不可变类型

>>> seq = [['a','b']]      #(['a','b']) | ['ab']
>>> dict(seq)
{'a': 'b'}

dict1.update(dict2)合并字典

        如果dict1dict2含有同样的键,新值会取代原值

dict.get(key,def_values)获取key键的值,如果没有key键,则返回default_values

dict.setdefault(key,def_values)

        如果找到dict[key],则返回dict[key],否则返回def_values,并将dict[key]设置为def_values


dict.keys()            获取所有的键

dict.values()        获取所有的值

dict.items()        获取所有的键值对,每个键值以元组形式返回

        返回为建值的迭代形式dict_keys([]),dict_values([]),dict_items([ ('k','v'), ])

        可使用list()函数将获取的值转换为列表


使用del语句是删除指定键的元素

dict.pop(key[, default])    如果key在字典中,删除并返回值,否则返回default,如果没有default则默认返回None,不会引发KeyError

dict.popitem()        从字典中移除并返回任意一个键值对,如果字典为空,则引发KeyError

dict.clear()    删除所有元素


in语句判断某个键是否在字典中

使用=赋值,dict.copy()复制

类方法 dict.fromkeys(seq[,value=None]) 以序列seq中的元素作为键,value参数为值创建一个新字典



集合

集合set为没有重复元素的无序容器

            可用于成员资格测试或消除重复条目

花括号或set()函数可创建集合

            创建一个空集合必须使用set(),{}会创建一个空字典

集合中包含的元素都为不可变类型

set.add(elem)          添加元素elem到集合
set.remove(elem)    从集合中移除元素elem。如果elem不包含在集合中,引发KeyError
set.discard(elem)     从集合中移除元素elem,如果它存在
set.pop()                  从集合中移除并返回任意元素。如果此集合为空,则引发KeyError
set.clear()                从集合中移除所有元素

逻辑方法

        &   或者set.intersection(set)获取集合的交集
        |     或者 set.union(set)来获取集合的并集
        -     或者set.difference(set)来获得两个集合的差集
        ^    或者set.symmetric_difference(set)来获取两个集合的异或集(仅在两个集合中出现过一次)
        <=  或者set.issubset(set)判断一个集合是否是另一个集合的子集
        <    判断第一个是否是第二个的真子集

        >=  超集,>真超集

猜你喜欢

转载自blog.csdn.net/DAGU131/article/details/79353594
今日推荐