python 的 set 与 dict

2019-03-07   


集合 set

声明与添加值:

s = set()

# 添加一个项目
s.add("laing")
#添加多个项目
s.update(["li", "zhao", "qian", "sun"])


# 序列类型的
a = [1,2,3,1]
s1 = set(a)

b = (1,2,3,1)
s2 = set(b)

c = {1:2, 3:4, 5:8}
s3 = set(c) # 只取键

删除值:

# 如果要删除的项目不存在,remove() 将引发错误。
s.remove("li") 
# 如果要删除的项目不存在,discard() 不会引发错误。
s.discard("cheng")
# 删除最后一个加入的
x = s.pop() # set 是无序的,因此您不会知道被删除的是什么项目。
# 清空
s.clear()

字典 dict

声明字典与添加(修改)键值:

# 声明字典
d = dict() # d = {} 耗时更少
d1 = dict(brand="Porsche", model="911", year=1963)

# [] 方式
d["liang"] = "limengying"
d[11] = 2324
mykey = "dds"
d[mykey] = True

# update 方式
d1.update(name="liangyuhang")
d.update({"国家": "China"})
temp_dict = {"name": "王员外", "age":18}
d.update(**temp_dict) # 不带 ** 也行, d.update(temp_dict)

获取字典键值:

# get 方式和 [] 方式
x = d.get(11) # d.get(111) == None 其值为 True
x = d[1222] # 这种方式如果 key 不存在会有 KeyError
x = d.setdefault('like', 'limengying')
# setdefault 如果键存在返回值, 不存在则创建该键值对

# 获取键
for k in d.keys():
    print(k)

# 获取值
for k in d:
    print(d[k])
for v in d.values():
    print(v)
    
# 获取键值
for k, v in d.items():
    print(k, v)

删除字典键值:

x = d.pop('liang') # 根据键删除键值对并返回值
x = d.popitem() # 删除最后一个键值对并返回键值对
del d[11]
d.clear() # 清空字典

参考资料

编程语言快速复习 W3school

Q.E.D.


我是星,利剑开刃寒光锋芒的银星,绝不消隐