散列类型

集合

'''
三大特性:
确定性、互异性(唯一性)、无序性。
确定性 集合的元素不能是可变类型
'''

问题一:前面学习的列表中可以插入重复的元素吗?
两种定义方法:

 set()   #类型转换
 {'少年们','你们是最棒的!'}   #直接定义
 #不可添加可变类型
栗子:
>>> a = {'61班','你们是最棒的!'}
>>> b = set(['a','b','c'])

三种运算

    s1  &  s2       交集
    s1  |  s2       并集
    s1  -  s2       差集
>>> s1 = {'a','b','c'}
>>> s2 = {'a','c','d'}
>>> s1&s2
{'a', 'c'}
>>> s1|s2
{'b', 'c', 'd', 'a'}
>>> s1-s2
{'b'}
>>> 
set 方法 说明 英文说明
add 将元素添加到集合中。 Add an element to a set.
pop 删除并返回任意set元素。 Remove and return an arbitrary set element.
remove 从集合中删除一个元素;它必须是成员。 Remove an element from a set; it must be a member.
update 用本身和其他元素的并集更新集合。 Update a set with the union of itself and others.
isdisjoint 如果两个集合的交点为空,则返回True。 Return True if two sets have a null intersection.
issubset 报告另一个集合是否包含该集合。 Report whether another set contains this set.
issuperset 报告此集合是否包含另一个集合。 Report whether this set contains another set.

1、增

add

>>> s1.add('f')

1、删

# 当集合是由列表和元组组成时,set.pop()是从左边删除元素的如下:
# 对于是字典和字符转换的集合是随机删除元素的.

>>> a = set('abcdefgh')
>>> a
{'e', 'f', 'a', 'h', 'b', 'c', 'g', 'd'}
>>> a.pop()
'e'
>>> a.pop()
'f'
>>> fruits = {"apple", "banana", "cherry"}
>>> fruits.remove("banana")
>>> fruits
{'apple', 'cherry'}

3、改

update(可迭代对象),把每一个元素拆开添加

4、查

isdisjoint 有交集返回False

x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
 
z = x.isdisjoint(y) 
 
print(z)

issubset 判断是否包含于

a = {1,2,3,4,5,6}
b = {1,2,3,4}

print(b.issubset(a))  # T   a的子集是b吗?  b是a的子集吗?

issuperset 判断是否包含

字典

两种定义方法

 di = {'name':'浩天',  'height':'183cm'}  键值对形式 

 di2 = dict(a=1, b=2)         使用dict函数

 修改和添加:

    di['a'] = 2   有这个键就修改,没有就添加

    di['b'] = 3   
dict 方法 注释 英文说明
setdefault 有则查,无则增 Insert key with a value of default if key is not in the dictionary. Return the value for key if key is in the dictionary, else default.
update 有则改,无则增 D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
pop 查出指定key的键值对 D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
popitem 返回并删除字典中的最后一对键和值 D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty.
get 获取指定key对应的value,如果key不存在返回None Return the value for key if key is in the dictionary, else default.
keys 取出所有的key D.keys() -> a set-like object providing a view on D’s keys.
values 取出所有的值 D.values() -> an object providing a view on D’s values.
items 取出所有的键值对 D.items() -> a set-like object providing a view on D’s items.

1、增

setdefault 有则查,无则增

>>> a.setdefault('a')
2
>>> a.setdefault('c')
>>> a
{'a': 2, 'b': 3, 'c': None}
>>> a.setdefault('d',3)
3
>>> a
{'a': 2, 'b': 3, 'c': None, 'd': 3}

2、删

"clear 清空字典 pop 弹出指定key的键值对 popitem 返回并删除字典中的最后一对键和值"

3、改

"update 更新字典、将原字典和新字典整合,key重复新的覆盖老的"

"有则改无则增"

4、查

"get 获取指定key 对应的value,如果key不存在放回none keys 取出所有的key values 取出所有的值 items 取出所有的键值对"

特性:键(key)唯一性:s字典中的键(key)具有唯一性,不存在两个相同的键(key)

逻辑运算

运算符 描述
== 等于
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
and
or
not

查看对象类型: type(object) 注意:object后面会讲的 isinstance(object,对象类型)

运算符优先级

运算符 描述
** 幂运算
+- 一元运算符(正负号)
%/* 算术运算符
+- 算术运算符
<><=>===!= 比较运算符
=/=-=+=*=%=**=//= 赋值运算符
isis not 身份运算符
innot in 成员运算符
not > and > or 逻辑运算符
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 散列类型 1.集合 特性无序(无序性)不重复(互异性)、集合的元素是不可变类型(确定性) 定义方法: set() ...
    拿媳妇换糖阅读 149评论 0 0
  • 集合(set) 特性: 确定性:集合内的元素不能是可变类型,不能是列表(不可添加可变类型)互异性:多用集合的形式进...
    w26y阅读 90评论 0 1
  • # # 散列类型,集合、字典、逻辑运算符 # # 集合,增,删,改,查 ,特殊(集合三大特性,唯一性,无序性,确定...
    兵哥v5阅读 150评论 0 0
  • # 集合的定义和特性 #定义 a = {1,2,'hello'}#里面必须有不可变类型元素 b = [1,1,2,...
    宁静致远学以致用阅读 111评论 0 0
  • 一、集合(元素不重复,无序的无法通过下标取值) 两种定义方法 set = { 1,2,3,4 } ...
    大现在进行时阅读 385评论 0 0