第六天

 

第六天

列表的内置方法

count

统计当前列表内指定元素的个数

l1 = ['jinyi','wanglu','qiaobi','love','jinyi']
print(l1.count('jinyi'))
# 2

index

获取当前指定元素的索引值,还可以指定查找范围

l1 = ['jinyi','wanglu','qiaobi','love','jinyi']
print(l1.index('jinyi',1,5))
# 4

sort

排序,在原列表上进行排序操作

s1 = [2, 1, 4, 6, 8, 3, 5, 6]
s1.sort()
print(s1)   # 正序:[1, 2, 3, 4, 5, 6, 6, 8]
s1.sort(reverse=True)
print(s1)  #倒序:[8, 6, 6, 5, 4, 3, 2, 1]
s2 = sorted(s1,)
print(s2)    ## python的内置函数,在排序时生成了一个新列表

clear

清空列表数据

s1 = [2, 1, 4, 6, 8, 3, 5, 6]
s1.clear()
print(s1)

队列\堆栈

# 队列:先进先出

# l1.append(1)
# l1.append(2)
# l1.append(3)
# print(l1)
# l1.pop(0)
# print(l1)
# l1.pop(0)
# l1.pop(0)
# print(l1)


# 堆栈:先进后出

# l1.append(1)
# l1.append(2)
# l1.append(3)
# print(l1)
# l1.pop()
# print(l1)
# l1.pop()
# print(l1)
# l1.pop()
# print(l1)

元组(tuple)


用途:储存多个不同类型的值(不能存可变类型)

定义方式:用小括号储存数据,数据之间用逗号分隔,(值不能被改变)

定义容器类型的时候,如果里面只有一个值,在值的后面加上一个逗号

在元组中如果不加,就是字符串


t1 = ('a','b','c','a')  # t1 = tuple(('a','b'))
print(t1)

索引取值(正取,反取都可以)\索引切片

t1 = ('a','b','c','a')
print(t1[2])    # 正取'c'
print(t1[-2])   # 反取'c'
print(t1[1:4])    #切片('b', 'c', 'a')

in\not in\count\index

元组可以索引,所有是有序的,是不可变类型,能存多个值

字典


通过大括号来储存数据,通过key:value来定义键值对数据,每个键值对中间用逗号分隔

key:一定是一个不可变类型

value:可以是任意类型


字典的三种定义方式

z1 = {'name':'jinyi','airen':'wanglu','age':18}

z2 = dict({'name':'jinyi','airen':'wanglu','age':18})

zip : 了解即可

l1 = ['name',"age"]
l2 = ['egon',18]
z1 = zip(l1,l2)
print(dict(z1))

按照key:value映射关系取值(可存可取)

成员运算in , not in #默认判断key

len() # 获取当前字典中键值对的个数

# d1 = {'name':'egon', 'age': 73}
# print(d1['name'])
# print(d1['age'])
# d1['name'] = 'tank'
# d1['gender'] = 'male'
# print(d1)
# print('egon' in d1)
# 内置方法:

# get(******) : 获取指定key的值,如果值不存在·,默认返回None,可以通过第二个参数修改默认返回的内容
# print(d1['gender'])
# print(d1.get('gender'))
# print(d1.get('gender','male'))

# keys、values、items  ******
# print(d1.keys())  # 返回所有的key
# print(d1.values())  # 返回所有的值
# print(d1.items())  # 返回所有的键值对,返回值是列表套元组,每一个键值对都是存在元组

# for key in d1.keys():
#     print(key)
# for value in d1.values():
#     print(value)
# for key,value in d1.items():
#     print(key,value)
# key,value = ("name",'age')

# pop:删除 : 指定key进行删除,有返回值,返回为对应的value
# a = d1.pop('name')
# print(d1)
# print(a)


# popitem() ,随机弹出一个键值对,有返回值,返回只是一个元组

# d1 = {'name':'egon', 'age': 73,'gender':'male','a':"1"}
#
# d1.popitem()
# print(d1)


# update : 用新字典替换旧字典
# d1.update({"b":'2'})
# print(d1)
# d1.update({'name':'tank'})
# print(d1)

# fromkeys : 生产一个新字典, 第一个参数(列表),它会以第一个参数中各个元素为key,以第二个参数为值,组成一个新字典



# print(dict.fromkeys([1,2,3],['ke','k1']))

# setdefault :key不存在新增键值对,有返回值,返回新增value,key存在返回对应的value

# d1 = {'name':'egon', 'age': 73,'gender':'male','a':"1"}
#
# print(d1.setdefault('name',1))
# print(d1)





# =========================类型总结==========================
# 有序or无序  : 无序
# 可变or不可变  :可变类型
# 存一个值or存多个值 : 存多个值

合集

# ========================集合基本方法===========================
# 用途: 去重、关系运算
# 定义方式: 通过大括号存储数据,每个元素通过逗号分隔
# 定义空集合,必须使用set()来定义
# l1 = []
# s1 = ""
# d1 = {}
# ss1 = set()
# 常用方法:

"""
合集:|
交集:&
差集:-
对称差集:^
"""

"""
1、集合中不可能出现两个相同的元素
"""

python_student = {'egon', 'jason', 'tank', 'owen', 'egon'}
linux_student = {'frank', 'alex', 'egon'}
go_student = {'egon'}

print(python_student)
# print(python_student | linux_student)
# print(python_student & linux_student)
# print(python_student - linux_student)
# print(linux_student - python_student)
# print(python_student ^ linux_student)
# print(python_student > go_student)
# print(python_student < linux_student)

# l1 = [1, 2, 3, 1, 2, 9, 1, 5, 6, 7]
# print(l1)
#
# s1 = set(l1)
# print(s1)
# print(type(s1))
# l2 = list(s1)
# print(l2)
# print(type(l2))

for i in python_student:
    print(i)

# =========================类型总结==========================
# 有序or无序 : 无序
# 可变or不可变 : 不可变
# 存一个值or存多个值 : 存多个值

全部总结
列表及内置方法
增:
append # 在列表尾部追加单个元素
insert # 指定索引在列表中插入单个元素
extend # 一次性插入多个值
for + append
删:
del 万能删
remove
pop
改:
pass
查:
pass
内置方法:
1、len()
2、sort(reverse=True) #
sorted
3、reverse # 反转
4、count # 统计当前指定元素,在列表中出现的次数
5、index # 获取指定值的索引
7、clear # 清空

元组及内置方法
定义方式:
通过小括号存储数据,数据之间通过逗号分隔

在定义容器类型时候,一定要在定义的元素后面加一个逗号
s1 = (1)
元组与列表的区别:
1、存储数据,一个[],一个()
2、元组不可变,列表可变

内置:
1、count
2、index

字典及内置方法:
定义方式:
通过大括号存储数据,通过key:value的映射关系生成键值对,
键值对之间要通过逗号分隔

三种定义方式:
d1 = {'name':'sean','age':18}

d2 = dict(name='sean',age=18)

d3 = dict(zip(['name','age'],['sean',18]))

增:
d1['new_key'] = 'new_value'
d1.update({'name':'tank'}) # 用新字典去更新旧字典
d1.setdefault('name','egon')
# 如果传入的值已存在于字典,返回原来的value
# 如果传入的值不存在于字典,新增一条数据,返回更新之后的value

删:
del
d1.pop() # pop弹出值,传入对应的key,只返回值,不返回key
d1.popitem() # 随机弹出整个键值对,返回值一个元组,元组中存储的就是key:value

改:
pass

查:
d1['key'] # 不存在就报错
d1.get('gender')

内置方法:
keys() # 就当它返回的是一个列表 返回所有的键
values() # 返回所有的值
items() # 返回所有的键值对

fromkeys()
集合及内置方法:
定义方式:
通过大括号存储数据,数据之间通过逗号分隔

定义空集合,必须使用set()

作用:
1、关系运算
2、去重

三个特性:
1、集合里面的值是不可重复的
2、集合内存储的元素必须是不可变的
3、集合内的元素是无序的

集合的内置方法:
交集
并集
差集
对称差集
判断父集、子集

add()
remove()
discard()
总结:
可变:列表,字典,集合
不可变:数字类型,字符串、元组
posted @ 2019-11-06 20:52  迎着阳光  阅读(143)  评论(0编辑  收藏  举报