美文网首页
Python-学习之路-06 内置数据结构 list set d

Python-学习之路-06 内置数据结构 list set d

作者: 末世狂人 | 来源:发表于2019-01-28 21:17 被阅读0次

元组

  • len:获取元组的长度
  • max\min:元组中最大值或最小值
    • 如果元组中有多个最大或最小值,则只打印一次最大或最小的值
  • 以下函数,对list基本适用

函数

  • 基本跟list通用
  • count: 计算指定数据出现的次数
  • index: 获取指定数据出现的下标位置
    • 如果指定的值有多个,那么则返回第一个
# max min
l = (1,1,3,3,2,5,6,7,7,7)
print(max(l))
print(min(l))
7
1

变量交换法

  • 两个变量的交换
    a,b = b,a
# 变量交换
a = 1
b = 2

a,b = b,a
print(a)
print(b)
2
1

集合 set

  • 无序并且数据是唯一的一个列表,集合中每一个数据成为一个元素
  • 定义: set()或者{}
    • 如果使用{}来定义set,那么大括号中必须要有值,否则定义出来的是dict
    • set()也可用来将其他类型转换成set类型
  • 特征:
    • 集合内数据无序,即无法使用索引和分片
    • 集合内数据具有唯一性,可以用来排除重复数据
  • 集合内的数据类型:str\int\float\tuple等,即内部只能放置可哈希的数据
# 集合的定义
s = set()
#或者
# 如果使用{}来定义set,那么大括号中必须要有值,否则定义出来的是dict
s = {1,23,4,5,6,7}
print(type(s))
<class 'set'>
# 集合的遍历操作
s = {"i","love","litinghui",4,5,6}
for i in s:
    print(i,end="  ")
print("")
# 带有元组的集合遍历
s = {(1,2,3),("i","love","litinghui"),(9024,456,"2345")}
for k,m,n in s:
    print(k,"----",m,"-----",n,"----")
    
print("")
for k in s:
    print(k)
4  5  6  i  litinghui  love  
i ---- love ----- litinghui ----
9024 ---- 456 ----- 2345 ----
1 ---- 2 ----- 3 ----

('i', 'love', 'litinghui')
(9024, 456, '2345')
(1, 2, 3)

集合函数或关于集合的函数

  • lel: 同上
  • max\min:同上
  • add: 向集合内添加元素
  • clear: 清空集合内的元素
  • copy:同list
  • remove:同list
  • discard: 移除集合中指定的值
    • 跟remove的作用一致,但是如果没有指定的值的话,discard不会报错,remove则会报错
  • pop:随机移除一个元素
  • intersection: 交集
  • difference: 差集
  • union:并集
  • issubset: 检查一个集合是否为另一个的子集
  • issuperset: 检查一个集合是否是另一个的超集'
# pop
s = {11,21,3,4,5,6,7,8,98}
d = s.pop()
print(d)
print(s)
98
{3, 4, 5, 6, 7, 8, 11, 21}

集合的数学操作

  • -(减号)
s1 = {1,2,3,4,5,6}
s2 = {4,5,6,7,8}
s = s1-s2
print(s)
{1, 2, 3}

frozenset:冰冻集合

  • 冰冻集合就是不可对集合进行任何修改的集合
  • frozenset是一种特殊的集合

dict 字典

  • 字典是一种组合数据,没有顺序的组合数据,数据以健值对的形式存在
  • 字典的创建:
    • 创建字典由空的{}来创建
    • 以键值对的方式来创建:{key:value,key:value,key:value}
    • 利用关键字参数: {key=value,key=value,key=value}
    • dict()
  • 特征
    • 字典是序列类型,但是无法进行分片和索引
    • 每组数据都是由键值对的形式存在
      • key:必须是可哈希的值
      • value:任何值
# 字典的常见操作
d = {"one":1,"tow":2,"three":3}
#访问
print(d["one"])
#修改
d["one"] = "eins"
print(d["one"])
#删除
del d["one"]
print(d)
1
eins
{'tow': 2, 'three': 3}
# 成员检测 in\not in
# 成员检测是key的内容
# 遍历
d = {"one":1,"tow":2,"three":3}
for k in d:
    print(d[k]) 
    
for k in d.keys():
    print(d[k])
    
#直接访问值
for v in d.values():
    print(v)
    
# 获取每一个键值对
for k,v in d.items():
    print(k,"--->",v)
1
2
3
1
2
3
1
2
3
one ---> 1
tow ---> 2
three ---> 3
# 字典生成式
d = {"one":1,"tow":2,"three":3}
## 常规的生成式
dd = {k:v for k,v in d.items()}
print(dd)

## 限制条件的生成式
ddd = {k:v for k,v in d.items() if v%2==0}
print(ddd)
{'one': 1, 'tow': 2, 'three': 3}
{'tow': 2}

字典的相关函数

  • len\max\min\dict
  • str() :以字符串的形似返回字典的key:value
  • clear: 清空字典
  • items: 返回字典的键值对组成的元组格式
  • keys: 返回字典的健组成的一个结构
  • values: 返回字典的值组成的一个结构
  • get: 根据指定健返回相应的值,可以设置默认值
    • get(d.get("不存在的key","默认值"))
    • 默认值可省略,省略后如果key不存在则返回None
  • fromkeys:使用指定的序列作为健,使用一个值作为所有健的值
# fromkeys
l = ["one","tow","three"]
d = dict.fromkeys(l,666)
print(d)
{'one': 666, 'tow': 666, 'three': 666}

相关文章

网友评论

      本文标题:Python-学习之路-06 内置数据结构 list set d

      本文链接:https://www.haomeiwen.com/subject/oopzjqtx.html