【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, '', (1, 2, 3)}) # 集合和字典是无序的
# hash算法加密,按对应规则进行存储
# 字典中是对key进行hash
# 集合中是直接对集合中的数据进行hash
# 只有不可变类型的数据进行hash
【python基础语法】元祖、字典、集合、数据类型的分类(第4天课堂笔记)的更多相关文章
- 【python基础语法】多重循环嵌套,函数(第6天课堂笔记)
1.什么是函数?函数有什么作用? 函数都是有特定功能的,都是由一些有特定功能的进行封装完成的 2.已经学过了哪些内置函数?分别有什么作用? print:输出 input:输入 type:查询数据类型 ...
- python-列表元祖字典集合
列表 list = ["a", "b", "c", "d"]元祖 tup = (1, 2, 3, 4, 5 ) 1.元组 ...
- python 元祖字典集合
一.元祖 1.用途:记录多个值,当多个值没有改变的需求,元祖不能修改,但元祖里的数据的数据可以修改. 2.定义方式:在()内用逗号分隔开多个任意值. 思考:如果定义一个只有一个一个值的元祖. # t ...
- Python学习笔记---切片 列表 元祖 字典 集合
列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...
- 06 元祖 字典 集合set
元组 定义: ti=() print(ti,type(ti)) 参数:for可以循环的对象(可迭代对象) t2=tuple(") # ('1', '2', '3') <class 't ...
- python基础类型—元祖
元组 被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组. 例:(1,2,3)("a","b","c") ...
- Python基础入门-元祖
其实,元组合列表的特性和使用几乎差不太多,今天我们重点来看下元组的一些操作和使用. 1.元祖的定义和特点 定义:元组是以小括号包围,元素以逗号分隔,不可变的序列之一. 特点: 1)元祖内的元素不可以增 ...
- python基础之元祖、嵌套,for循环、 enumerate、range的试用案例
元祖又叫做只读列表,可循环查询.可切片,元祖里的直接元素不能更改,但是若里面有嵌套的列表,则可以修改列表里的元素 tu = (1,2,3,'sun',[3,4,5,'cat']) tu[4][3] = ...
- python基础之元祖tuple
元祖是只读列表,不可哈希,可循环查询,可切片*儿子不能改,孙子可更改--元祖里面单个元素不能更改---元祖内列表可更改增:tu1+tu2查:tu1[index] tu1[start_index:end ...
- python基础--4 元祖
#元组,元素不可被修改,不能被增加或者删除 #tuple,有序 tu=(11,22,33,44,55,33) #count 获取指定元素在元祖中出现的次数 print(tu.count(33)) #i ...
随机推荐
- 三、Django学习之单表查询接口
查询接口 all() 查询所有结果,结果是queryset类型 filter(**kwargs) and条件关系:参数用逗号分割表示and关系 models.Student.objects.filte ...
- Linux后门的几种姿势
转载自 https://evilanne.github.io/2017/08/26/Linux%E5%90%8E%E9%97%A8-%E6%8C%81%E7%BB%AD%E5%85%B3%E6%B3% ...
- 数学建模之优劣解距法(TOPSIS)
优劣解距法简称TOPSIS,是一种综合评价方法,利用原始数据反映各评价方案之间的差距 优劣解距法的步骤通常为: 先将原始数据针具做正向化处理,得到正向化矩阵 再对正向化矩阵标准化处理以消除各指标纲量的 ...
- kubernetes从私有仓库下载遇到的坑
1.必须要在所有的k8s节点上配置私有仓库的地址.(master和node) 2.创建secret kubectl create secret docker-registry secret名字 --d ...
- C++静态成员函数小结
类中的静态成员真是个让人爱恨交加的特性.我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动. 静态类成员包括静态数据成员和静态函数成员两部分. 一 静态数据成员: ...
- Pycharm2019.1.1永久破解
声明:不做商业用途,电脑系统win10专业版,亲测有效. 1,下载新版破解补丁+安装包 网盘链接 提取码:hn0u 下载补丁文件 jetbrains-agent.jar 并将它放置到 pycharm安 ...
- 《剑指Offer》第二章(一)题 9 -12
第二章 面试题9:用两个栈实现队列 题目:如面试题,给你两个栈, 实现队列的先进先出,即在队列头删除一个元素以及在队列的尾部添加一个元素 思路:这个题的分析感觉很巧妙,从一个具体的例子入手,找出其中的 ...
- 三、Mongodb Java中的使用
添加maven依赖 <!--mongodb 驱动--> <dependency> <groupId>org.mongodb</groupId> < ...
- webpack chunkFilename 非入口文件的命名规则 [转]
官网的文档只理解了filename是主入口的文件名,chunkFilename是非主入口的文件名 filename应该比较好理解,就是对应于entry里面生成出来的文件名.比如: { entry: { ...
- JDBC访问数据库的具体步骤(MySql + Oracle + SQLServer)
* 感谢DT课堂颜群老师的视频讲解(讲的十分仔细,文末有视频链接) import java.sql.Connection; import java.sql.DriverManager; import ...