day-08 总结

容器性数据

1.元祖(tuple)

1.什么是元祖(tuple)

python提供的容器型数据类型,不可变并且有序
不可变 -- 不支持增删改,只支持查
有序 -- 每一个元素都对应一个确定的下标
2.字面量和元素
(元素1,元素2,元素3.....)
元素 -- 可以是任何数据类型,并且类型可以不一样,
也可以同样的元素有多个

point=(100,30)
print(point,type(point))
注意:
空的元祖:()
tuple1=()
print(type(tuple1))

2,只有一个元素的元祖,必须在元素后面加一个逗号
tuple2=(100,)

3,直接将多个元素用逗号隔开,不加小括号表示的也是元祖

tuple3=1,2,3
print(tuple3,type(tuple3))

3.元祖获取元素和列表是一样的,切片

tuple4=('成都','达州','绵阳','南充','广元')
获取单个
print(tuple4[1],tuple4[-1])
 获取部分
print(tuple4[0:3])
遍历
for city in tuple4:
    print(city)

for index in range(len(tuple4)):
    print(tuple4[index])

补充:特殊的获取方式

1,变量1,变量2...=元祖 ---->用前面的变量依次去获取元祖中元素的值
(要求前面变量的个数和元祖元素的个数一致)

point=(100,200)
x,y=point
print(x,y)

2.变量1 * 变量2 = 元祖---通过带的变量获取元祖中剩余的部分
注意:在这个结构中,带
的变量只能有一个,不带*的变量可以有多个

name,*scores=('小花',100,89,67,99)
print(name,scores)  #小花 [100, 89, 67, 99]
name,num,*scores=('小花',100,89,67,99)
print(name,num,scores) #小花 100 [89, 67, 99]
*info,num1,num2=('小花',100,89,67,99) # ['小花', 100, 89] 67 99
print(info,num1,num2)

补充 *的用法

1,取元祖和列表中的数据
nums = (1,2,3)
nums2 = [11,22,33]
print(*nums,*nums2)  # 1 2 3     11 22 33

相关运算

+  *
in / not in 
len(),max(),min(),sum(),tuple()

tuple1=(1,2,3)
tuple2=('aa','bb')
print(tuple1+tuple2) # (1, 2, 3, 'aa', 'bb')
print(tuple2*3)    # ('aa', 'bb', 'aa', 'bb', 'aa', 'bb')

5.排序
sorted(序列) -- 对序列中的元素排序产生一个新的列表,不管什么序列,返回的都是列表
注意:列表.sort()--修改列表中元素的顺序
sorted(列表)--产生一个新列表

tuple4=(12,56,34,89,2,5,8,4,3,1,9,8,7,5,4)
new_tuple4=sorted(tuple4,reverse=True)
print(new_tuple4)
new_tuple2=sorted('asdasdadasdasdasfdf')
print(new_tuple2)

join 的使用

字符串.join(序列)--将序列中的元素取出用指定的字符串连接在一起,要求序列中的元素必须是字符串

new_str=''.join(new_tuple2)
print(new_str)
print([1,2,3,4,5][::-1])

字典

1.什么是字典(dict)

python提供的容器性数据类型,可变并且无序的
可变 - 支持元素的增删改
无序 - 不支持下标操作

2.字面量和元素

用大括号括起来,里面有多个键值对,每个键值对用逗号隔开。键值对就是字典的元素
{'a':1,'b':2}{key1:value1,key2:value2}
键值对-- 键:值 / key:value
注意; 键值对必须成对出现,而且脱离字典单独出现是没有任何意义的
键/key - 必须是不可变的,而且是唯一的。实际一般将字符串作为键
值/value - 可以是任意数据类型
注意,字典存数据是通过值来储存的,key是值对应的标签和获取值的方式

dict1 ={'a':100,'b':200,10:10}

3.什么时候使用字典:多个没有相同意义的数据(需要区分),就使用字典。例如保存一个人的信息,一辆车的不同信息

什么时候使用列表:存储的多个数据是相同意义的数据(不需要区分),就是用列表,

练习;申明一个斌量,
保存一个班的学生信息,每个学生需要保存姓名电话年龄

class_student=[]
stu_message1={'name':'xiaohua','age':23,'tel':13600000000}

字典元素的增删改查

1.查(获取值)

注意:字典中的键值对单独拎出来没有意义

a. 字典[key]--获取key对应的值
注意;当key不存在会报错keyerror

b. 字典.get(key) -- 获取key对应的值,当key不存在的时候不会报错,并且会取到一个默认值None
字典.get(key,值1)-- 获取key对应的值,当key不存在时,会返回默认值1
c。 遍历字典 --
注意;直接通过for循环遍历字典取到的是key

car = {'color':'黄色','type':'跑车','price':500000}
print(car['color'])
print(car['price'])
print(car.get('color'))
print(car.get('speed',20))
dict1={'a':2,'b':4,'c':3}
for key in dict1:
    print(key,end='  ')
    print(dict1[key])


遍历字典的value(),获取所有的值
for value in dict1.values():
    print(value)
遍历字典的items,截止获取key和value
for key,value in dict1.items():
    print(key,value)

2,增和改

a.字典[key] = 值 ---当key不存在就是添加键值对
---当key存在的时候就是修改key对应的值

3.删除

删除键值对:
del 字典[key] - 删除指定的key对饮的键值对

字典相关方法

1.比较运算 --

a. == 、!=
注意:判断两个字点是否相等,只看键值对是否一样,不看键值对的顺序
字典不支持 > 和 < 符号

2. in 和 not in

key in 字典 ---判断字典中是否存在指定的key
key not in 字典

dict1={'a':1,'b':2,'c':3}
print('a'in dict1)

3.len()---获取字典键值对的个数

max()---获取字典键最大值
min()---获取字典键最小值
dict(数据)---将指定数据装换成字典
要求:首先必须是序列,其次序列中的元素必须是有两个元素的子序列
字典转列表/元祖/集合都是将所有的key取出来作为列表/元祖/集合的元素

4.相关方法
1.字典.clear() --- 清空字典
2.字典.copy() --- 复制字典中的元素产生新的字典。注意:拷贝赋值会产生新的地址
3.dict.fromkeys(序列,值)--以序列中的元素作为key,用值来作为value,
产生一个新的字典
4.字典.keys() -- 将字典所有的key取出产生新的序列
字典.values() -- 将字典所有的value取出产生新的序列
字典.items() -- 将字典所有的键值对作为元祖元素产生一个新的序列
5.字典.setdefault(key,value)---注意;当key存在的时候,不会修改
a.字典.setdefault(key) - 当key不存在的时候,添加键值对key:None
b.字典.setdefault(key,value)当key不存在的时候,添加键值对key:value
6.字典.update(序列)--将序列中的元素更新(如果字典里面存在键值对就是修改,不存在就是添加)到指定字典里面

# 1字典.clear
dict1.clear()
print(dict1) # {}
# 3 dict.fromkeys()
str1='as123'
new_dict = dict.fromkeys(str1,20)
print(new_dict) #{'a': 20, 's': 20, '1': 20, '2': 20, '3': 20}
#  setdefault
dict2={'a':1,'b':2,'c':3}
dict2.setdefault('d',4)
print(dict2)  # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
# update
dict2={'a': 1, 'b': 2, 'c': 3, 'd': 4}
dict2.update({'e':5,'f':6})
print(dict2)

集合

1.什么是集合(set)

可变的无序的,元素是唯一不可变的

2.字面量

{元素1,元素2....}
set2=set() -- 空集合
集合自带去重功能

set1={1,23,'asd'}
print(set1)
set2=set()

增删改查

a.查。
只能通过遍历元素,集合不能获取单个元素
b.增
集合.add(元素)--- 在指定的集合添加指定元素
集合.update(序列)--- 将序列中的元素添加到集合里面
c.删
集合.remove(元素)---删除集合中指定的元素

set1={1,2,3,4,5,7}
set1.add(8)
print(set1)

4.数学集合运算

交集(&):两个集合的公共元素
并集(|):将两个集合中的元素合并在一起产生一个新的集合,会自动去重
差集(-):去掉集合1中包含集合2中的公共部分剩下的部分产生一个新的部分
补集(^):将两个集合合并在一起,去掉公共部分,留下剩下的部分
子集的判断:集合1>集合2--判断集合1中是否包含集合2
集合1<集合2--判断集合2中是否包含集合1

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

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,779评论 2 16
  • 一、复习(列表) 1.容器,可以同时存放多个数据。可变,有序2.元素,可以是任何类型的数据,一个列表可以同时存放不...
    Sakura_flower阅读 522评论 0 7
  • day8 --字典和集合 一、元祖 1.什么是元祖 a.容器,可以同时存储多个数据,不可变的,有序的不可变---...
    高宇的简书昵称阅读 98评论 0 0
  • 第一章 寒鸦声起,碧瓦留霜。叶府内一片寂静,叶府少爷叶寒跪在厅前不敢吱声,叶家老爷背手站在厅内,脚下散落着一堆纸...
    落雨清欢阅读 471评论 0 2
  • 清晨的阳光透过明亮的玻璃窗,温柔的照射在摊着书刊的案几上。鸟儿清脆的啾鸣伴着初秋的细风飘入耳廓,这如期而至的秋,透...
    纤子墨阅读 364评论 2 11