【python基础语法】元祖、字典、集合、数据类型的分类(第4天课堂笔记)

"""
列表:可变数据类型,对列表内部的元素可以进行修改
元祖: tuple,不可变数据类型,是不可以进行增删查改
元祖的方法:
count   查找元素的数量
index   从前往后依次查询元素的下标位置
字符串、列表、元祖总结:
序列类型:字符串、列表、元祖内部元素是有序的
通用操作:
下标取值
切片
获取元素的总数:len()
字典
字典中的数据,每条都是由键值对组成(key:value)
key:只能是不可变类型的数据(尽量用字符串)
value:可以是任意类型的数据
字典的增删查改:
不可变类型的数据:数值类型、字符串、元祖
可变类型的数据:列表、字典、集合
集合
# 如何区分可变不可变数据,定义一个集合,把数据放到集合中看会不会报错
"""

# 元祖,元祖中的数据可以是任意类型
tu = (1, 2, 3)
print(type(tu))

# 元祖下标取值
print(tu[0])

# 元祖切片
print(tu[:2])

# 元祖定义的时候,注意点:
# 如何去定义一个空元祖
tu1 = ()
print(type(tu1))

# 元祖中只要一个元素时,如何定义,加个逗号
tu2 = (11,)
print(type(tu2))
# 通过tuple定义元祖
tu4 = tuple((11,))
print(type(tu4), tu4)

# 列表 字符串 元祖 之间的转换
# list(): 可以将元祖 或者字符串 转换为 列表
l = [11, 22, 33]
s = "abc"
t = (1, 2, 3)
print(list(s))
print(list(t))

# tuple(): 可以将 列表 或者字符串 转换为元祖
print(tuple(s))
print(tuple(l))

# 元祖的方法
tu = (1, 2, 3, 4, 5, 6, 11, 22, 33, 12, 1, 3)
# cont:
print(tu.count(1))
# index:从前往后依次查询元素的下标位置
print(tu.index(11))

# 内置函数 len():获取数据的元素总数(长度)
print(len(l))
print(len(s))

student = [["余蓉", 18, ''],
           ['黄晨',18, '']
           ]
s = student[1]
print(s)

# 字典的定义:{}
# 字典中的每一条数据由两部分组成:key:value(键值对)
s11 = [
    {"name": "余蓉", "age": 18, "gender": ""},
    {"name": "黄晨", "age": 18, "gender": ""},
]
# 拿到列表中的字典
s0 = s11[0]
s1 = s11[1]
# 拿到字典中的元素
print(s0["name"])
print(s1["name"])

# 测试用例的数据:接口地址:url 入参:data 预期结果:excepted
# 100条测试用例数据
case = {"url": "www.baidu.com", "data": 123, "excepted": 123456}

dic = {"name":"小明"}
# 字典的定义
dic1 = {}
print(dic1,type(dic1))

# 字典的增删查改方法

# 字典中添加元素
# 通过键进行赋值 dic[key] = 值
dic["age"] = 18
print(dic)
# 字典中修改元素(字典中的key是唯一的,不能重复),
dic["age"] = 188
# 总结:字典添加和修改元素,无key则增,有则改

# 字典中查找元素
# 通过键去找对应的值(当查找的键不存在时,会报错)
n = dic["name"]
print(n)
# 第二种:dic.get(key)(当查找的键不存在时,返回的是None)
n = dic.get('name')
print(n)

# 字典中删除元素
dic1 = {'aa':11,'bb':22,'cc':33}
# pop方法:指定键去删除键值对
print(dic1.pop("aa"))
print(dic1)

# popitem:删除字典中的最后一个键值对(python3.6开始)
dic1.popitem()
print(dic1)

# del关键字 进行删除
del dic1['bb']
print(dic1)

# 字典中常用的其他的几个方法
dic2 = {'aa': 11, 'bb': 22, 'cc': 33}
# keys:获取所有的键
print(list(dic2.keys()))

# values:获取所有的值
print(list(dic2.values()))

# items:获取所有的键值对,每个键值对是一个元祖的形式
print(list(dic2.items()))

# 字典创建的其他方式:
# 方式一
dic3 = {'name': "小明","age": 18,"gender": ""}
# 方式二
dic4 = dict(name="小明",
            age=18,
            gender="")
# 方式三
dic5 = dict([('aa',11),('bb',22),('cc',33)])
print(dic3)
print(dic4)
print(dic5)

# 合并两个字典的方法:update,dic1更新到dic3里面去
dic3.update(dic1)
print(dic3)
# 在字典里面追加多个键值对
dic3.update({"ff": 11, "dd": 99})
print(dic3)

# 集合:通过{}来表示,{1,2,3,4,5}
set1 = {1, 2, 3, 4, 5}
print(set1)
print(type(set1))

# 怎样定义空集合?
set2 = set()
print(type(set2))

# 集合中不能够存在重复的元素,
set3 = {1, 1, 2, 3, 4, 5, 6, 7, 8, 8}
print(set3)

# 通过集合可以去除列表中的重复元素
li1 = [1, 2, 3, 4, 5, 6, 1, 2, 7, 8]
# 将列表转换为集合
s = set(li1)
# 然后将集合转换为列表
li2 = list(s)
print(li2)

# 扩展

# 集合中的数据只能是不可变数据类型:字符串 元祖(其他类型会报错)
print({11, 22, 33, '123', (1, 2, 3)})

# 集合和字典是无序的
# hash算法加密,按对应规则进行存储
# 字典中是对key进行hash
# 集合中是直接对集合中的数据进行hash
# 只有不可变类型的数据进行hash

 

posted on 2020-02-23 11:15  诚实的表达自己  阅读(245)  评论(0编辑  收藏  举报