day8-总结

关于列表(list)的其他操作

1.修改列表元素:列表名[下标]=值

list5 = [1,2,3,4]
list5[2] = 5
print(list5)

获取列表长度:len(list5)

print(len(list5))

2.列表相加:列表1 + 列表2

a = [1,2,3]
b = [4,5,6]
print(a+b)

3.列表*n:让列表元素出现n次生成新的列表

print(a*2)

4.in not in操作

元素 in 列表:判断指定的元素是否在指定的列表中

res = 4 not in b
print(res)

5.获取列表中的最大值和最小值

max(列表) min(列表)

print(max([1,2,3,4]))
print(min([1,2,3,4]))
print(max(['a','b','c']))

6.count:获取指定元素在列表中出现的次数

print(a.count(-1))

7.extend:列表1.extend(序列2):将序列2中的元素添加到列表1中

c = [1,2,3,4]
d = [1,6,9,7]
c.extend(d[2:])
print(c)

8.列表.index(元素):获取指定元素在指定列表中的索引(如果元素有多个,取第一个)

print(c.index(9))

9.列表.reverse():反向列表元素(不产生新列表)

c.reverse()
print(c)

10.列表.sort():队列表进行排序(默认升序,reverse=True 降序)

c.sort()
print(c)

11.清空列表元素

c.clear()
print(c)

12.复制列表:列表.copy()

ll = [1,2,3,4,5,6,7,8]
nn = ll.copy()
nn.append('a')
print(ll,nn)

注意:通过一个列表变量给另一个列表赋值,赋值为地址,操作元素会相互影响
要避免此类问题使用切片或者copy创建全新的列表

元组(tuple)

1.什么是元组

元组就是不可变的列表,除了可变的操作以外,其他列表的操作都适用于元组
元组值:a.使用()将元素包含起来,对个元素之间用逗号隔开 b.元素的类型可以是任何类型

2.增删改操作不能作用于元组,可以查

color = ('a','b','c','d')
print(color[1])
print(color[0:3])

元组/列表的元素获取(特殊)

names = ('sss','ttt')
names1 = ['ssa','aas']
x,y = names #通过多个变量分别获取元组的元素(变量个数和元组元素个数一致)
m,n = names1
print(m,n)
print(x,y)
names2 = (1,2,3,4,5,6)
names3 = [1,2,3,4,5,6]
q,w,*e,r = names2
q1,w1,*e1,r1 = names3
print(q,w,e,r)
print(q1,w1,e1,r1)

注意 *后接变量名,可以让变量获取多个元素以形成列表

3.可以获取长度

print(len(color))

4.可以判断包含关系

print('a' in color)

5.+ 和 *

print((1,'a')+(3,'b'))
print((1,2)*3)

字典(dict)

1.什么是字典

字典也是一种容器类型的数据类型(序列),存的数据是以键值对的形式出现的,字典中的元素全部都是键值对
特点:字典可变且无序(课增删改,不可通过下标取值)

键值对:键:值(key:value) 键值对中key是形式,值才是存储的内容

  • 键理论上可以是任何不可变的数据类型,但是实际开发一般使用字符串作为key
  • 值:可以是任意数据类型数据

2.声明一个字典

  • 创建一个变量,通过赋值创建字典
dict1 = {} #创建一个空的字典
print(type(dict1))

dict2 = {'a':1,'b':2,3:100,('a','b'):4}
print(dict2)
  • 其他数据的类型转化
dict2 = dict([(1,2),(2,3)])
dict3 = dict([[1,2],[2,3]])
dict4 = dict(([1,2],[2,3]))
dict5 = dict(((1,2),(2,3)))
print(dict2,dict3,dict4,dict5)

注意:可以转化为字典的数据类型:set,list,tuple
必须满足的转换条件:其中的元素必须是2元的数据容器类型

3.字典的增删改查

1.获取字典的元素的值:通过key来获取字典元素值
  • 字典[key]
person = {'name':'king','age':18 }
print(person['name'])
# print(person['class']) 如果key不存在会报错
  • 字典.get(key)
print(person.get('name'))
# person(person.get('class')) 如果key不存在不会报错,返回none

注意:如果key确实存在,使用[]语法获取值,不确定key是否存在才使用get方法去获取值

2.增加/修改元素

通过key获取字典元素然后赋值,当key本身存在的时候就修改元素的值,不存在就给字典添加键值对

person['telephone'] = 125674677
print(person)
person['telephone'] = 111
print(person)
3.删除:删除以键值对为单位
  • del 字典[key]
    注意:key如果不存在会报错
del person['telephone']
print(person)
# del person['aaa']
  • 字典.pop(key) 会返回被删除的键值对对应的值
age = person.pop('age')
print(person,age)

4.相关数组属性

  • 字典.keys():获取字典所有的key,返回值类型是dict_keys,但是可以作为列表使用
  • 字典.values():获取字典所有的值(value)
  • 字典.items():将字典中所有的键值对转换为一个一个的2元组,其中key作为第一个元素,value作为第二个元素
stu_dict = {'a':'aa','b':'bb','c':'cc'}
keys = stu_dict.keys()
print(keys,type(keys))
# 遍历获取每个key
for key in keys:
    print(key)

print(stu_dict.values())
print(stu_dict.items())

遍历数组

  • a.直接遍历字典获取到的是所有的key(推荐使用)
for key in stu_dict:
    print(key,stu_dict[key])
  • b.遍历这获取到key和value(不推荐使用)
for key,value in stu_dict.items():
    print(key,value)
字典应用实例:
# 声明一个变量,作用是用来存储一个班级的学生信息。其中学生信息包括姓名,年龄,电话,至少存3个
class1 = {
'name':'python1805',
'address':'19-1',
'students':[{'name':'a','age':1,'sex':'m','phone':1111},
            {'name':'b','age':2,'sex':'f','phone':2222},
            {'name':'c','age':3,'sex':'m','phone':3333}]
}

5.字典的其他操作

  • dict.fromkeys(序列,value):创建一个新的字典,序列中的元素作为key,value作为值
new_dict = dict.fromkeys('abc',100)
print(new_dict)
new_dict = dict.fromkeys(['abc','bcd'],100)
print(new_dict)
  • in 操作
    key in 字典:判断字典中是否存在指定的key
dog_dict = {'color':'white','age':3,'type':'柴犬'}
print('color' in dog_dict)
print('white' in dog_dict)
  • update 操作
    字典1.update(字典2):使用字典2的键值对去更新字典1中的键值对。
    如果字典2中对应的键值对在字典1中不存在就添加,存在就更新
dict1 = {'a':1,'b':2,'c':3}
dict1.update({'a':4,'d':5})
print(dict1) # {'a': 4, 'b': 2, 'c': 3, 'd': 5}

集合(set)

集合(set)也是一种容器类型的数据类型(序列);数据放在{}中,多个之间只用逗号隔开:{1,2,'a'}
集合是无序的(不能通过索引去取值),可变(可以增删改),元素不能重复

1.怎么声明集合

  • 声明一个变量并赋值
set1 = {1,2,3}
print(type(set1))
  • 类型转换
set2 = set('abc12333') 
print(set2)
#其他数据转换为集合,自带一个去重的功能
set3 = set([12,'abc','hh',32,12])
print(set3)
print(list(set3))

2.集合的增删改查

  • 查询集合的值:遍历
    注意:集合没有办法单独获取某一个元素(不能通过下标去获取)
for it in set2:
    print(it)
  • 增加新的值到集合中:
    a.集合名.add(元素) 在指定的集合中添加指定的元素
set_1 = {1,2,3}
set_1.add(100)
print(set_1)

b.集合1.update(集合2) 将集合2中的元素添加到集合1中,自动去重

set_1.update({'abc','ss'})
print(set_1)
  • 删除集合中的元素
    a.集合名.remove(元素):在指定的集合中删除指定的元素
set_1.remove('ss')
print(set_1)

b.集合名.pop():随机删除(一般不使用)

set_1.pop()
print(set_1)

3.判断是否包含

集合1 >= 集合2 -- 判断集合1是否包含集合2(所有的元素)

print({1,2,3,4} >= {1,5}) # false
print({1,2,3,4} <= {1,2}) # false

4.数学的集合运算

  • 求并集: |
print({1,2,3} | {2,3,4,5})
  • 求交集:&
print({1,2,3} & {2,3,4,5})
  • 求差集:-
print({1,2,3} - {2,3,4,5})
  • 求补集:^
print({1,2,3} ^ {2,3,4,5})

5.其他方法

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

推荐阅读更多精彩内容