Python-学习之路-06 内置数据结构 list set dict tuple 02

元组

  • 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}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容