python(set、dict)

1、集合python

它的元素是惟一的,并没有序的。函数

一、集合定义orm

s = set()对象

s = {1, 2, 3}blog

二、集合的方法索引

update版本的集合运算是在原集合上进行修改,返回值为None。rem

  • add()表示增长一个元素到集合。当添加一个已经存在的元素时,不会抛出异常。可hash的能够做为集合的元素,不可hash(list,set,bytearray dict)的不能够做为集合的元素。
  • update()表示增长一个可迭代对象。
  • remove()表示从集合中删除一个存在的元素,不然抛出一个KeyError异常。
  • discard()表示从集合中删除一个元素,当元素不存在时不抛出异常。
  • pop()表示从集合中随机返回一个元素,并从集合中删除此元素。当删除一个空集合时,抛出一个KeyError异常。
  • clear()表示清空全部元素。
  • difference()表示不在另外一个集合的全部元素,返回一个新集合。
  • intersection()表示两个集合的交集,返回一个新集合。
  • union()表示两个集合的并集,返回一个新集合。
  • symmetric_difference()表示返回两个集合不相交的元素,返回一个新集合。
  • difference_update()表示在原集合修改,只保留第一个集合不相交的元素。
  • intersection_update()表示在原集合修改,保留两个集合的相同元素。
  • issuperset()表示是否为超集。
  • issubset()表示是否为子集。
  • isdisjoint()表示两个集体不相交。

2、字典字符串

字典是一个键值对结构。它的Key必须是可hash的值而且是惟一的,value能够是任意的值。get

1.字典定义hash

dt = dict()

dt = {}

2.下标操做

dt = {'a':2,'b':3}

dt['c']=4

3.字典的方法

  • update()表示增长元素,若是增长的key相同是就修改原来key的值。它的参数能够是如下几种状况:字典、由二元组构成的可迭代对象、关键字参数。
dt = {'a':2,'b':3}
dt['c'] = 4

dt.update([('g',3),('h',2)])
dt.update({'f':3,'e':2})
dt.update(u=22)
print(dt)
#结果:{'a': 2, 'b': 3, 'c': 4, 'g': 3, 'h': 2, 'f': 3, 'e': 2, 'u': 22}
  • pop()表示从字典中删除指定的key,若是key不存在就抛出keyError异常,但能够指定默认值时则不抛出异常。
dt = {'a': 2, 'b': 3, 'c': 4, 'g': 3, 'h': 2, 'f': 3, 'e': 2, 'u': 22}
d = dt.pop('gg',-2)
print(d)
print(dt)
#d结果:-2
#dt结果:{'a': 2, 'b': 3, 'c': 4, 'g': 3, 'h': 2, 'f': 3, 'e': 2, 'u': 22}
  • popitem()表示从字典中随机删除一个key,并返回一个键值对的元组。若是删除一个空字典时抛出一个KeyError异常。
dt = {'a': 2, 'b': 3, 'c': 4, 'g': 3, 'h': 2, 'f': 3, 'e': 2, 'u': 22}
d = dt.popitem()
print(d)
print(dt)
#d结果:('u', 22)
#dt结果:{'a': 2, 'b': 3, 'c': 4, 'g': 3, 'h': 2, 'f': 3, 'e': 2}
  • clear()表示清空字典全部键值对。
  • get()表示访问指定键的值,并能够给默认值。
  • setdefault()表示能够为某个key指定默认值。

3、字典的应用

  • 字典可能经过keys()方法返回全部keys,也能够经过values()方法返回全部的值。
  • 用len()方法统计字典的长度。

一、如何遍历一个字典?

dt = {'a':1,'b':2,'c':3}

for k in dt.keys():
    print('{}=>{}'.format(k,dt[k]),end=' ')

#结果:a=>1 b=>2 c=>3 
dt = {'a':1,'b':2,'c':3}

for k,v in dt.items():
    print('{}=>{}'.format(k,v),end=' ')
#结果:a=>1 b=>2 c=>3

二、enumerate用法

enumerate()是python的内置函数,并返回的是一个enumerate对象。对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它能够同时得到索引和值。

lt = [1, 2, 3, 4, 5, 6]

for k,v in enumerate(lt):
    print('{}=>{}'.format(k,v),end=' ')

#结果:0=>1 1=>2 2=>3 3=>4 4=>5 5=>6 

enumerate还能够接收第二个参数,用于指定索引发始值。

lt = [1, 2, 3, 4, 5, 6]

for k,v in enumerate(lt,1):
    print('{}=>{}'.format(k,v),end=' ')

#结果:1=>1 2=>2 3=>3 4=>4 5=>5 6=>6 

三、OrderedDict的用法

collections模块里有一个OrderedDict,它能够记住字典中插入元素的前后顺序。

from collections import OrderedDict

ot = OrderedDict()
ot['b']=2
ot['a']=1
ot['e']=4
ot['1']=1
ot['c']=3
ot['2']=2

for k,v in ot.items():
    print('{}=>{}'.format(k,v),end=' ')
lt = {'a', 'b', 'c', 'd'}

print(dict.fromkeys(lt,True))

#结果:{'a': True, 'b': True, 'd': True, 'c': True}
相关文章
相关标签/搜索