"""
列表:可变数据类型,对列表内部的元素可以进行修改
元祖: 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天课堂笔记)的更多相关文章

  1. 【python基础语法】多重循环嵌套,函数(第6天课堂笔记)

    1.什么是函数?函数有什么作用? 函数都是有特定功能的,都是由一些有特定功能的进行封装完成的 2.已经学过了哪些内置函数?分别有什么作用? print:输出 input:输入 type:查询数据类型 ...

  2. python-列表元祖字典集合

    列表 list = ["a", "b", "c", "d"]元祖 tup = (1, 2, 3, 4, 5 ) 1.元组 ...

  3. python 元祖字典集合

    一.元祖 1.用途:记录多个值,当多个值没有改变的需求,元祖不能修改,但元祖里的数据的数据可以修改. 2.定义方式:在()内用逗号分隔开多个任意值. 思考:如果定义一个只有一个一个值的元祖. # t ...

  4. Python学习笔记---切片 列表 元祖 字典 集合

    列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...

  5. 06 元祖 字典 集合set

    元组 定义: ti=() print(ti,type(ti)) 参数:for可以循环的对象(可迭代对象) t2=tuple(") # ('1', '2', '3') <class 't ...

  6. python基础类型—元祖

    元组  被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组. 例:(1,2,3)("a","b","c") ...

  7. Python基础入门-元祖

    其实,元组合列表的特性和使用几乎差不太多,今天我们重点来看下元组的一些操作和使用. 1.元祖的定义和特点 定义:元组是以小括号包围,元素以逗号分隔,不可变的序列之一. 特点: 1)元祖内的元素不可以增 ...

  8. python基础之元祖、嵌套,for循环、 enumerate、range的试用案例

    元祖又叫做只读列表,可循环查询.可切片,元祖里的直接元素不能更改,但是若里面有嵌套的列表,则可以修改列表里的元素 tu = (1,2,3,'sun',[3,4,5,'cat']) tu[4][3] = ...

  9. python基础之元祖tuple

    元祖是只读列表,不可哈希,可循环查询,可切片*儿子不能改,孙子可更改--元祖里面单个元素不能更改---元祖内列表可更改增:tu1+tu2查:tu1[index] tu1[start_index:end ...

  10. python基础--4 元祖

    #元组,元素不可被修改,不能被增加或者删除 #tuple,有序 tu=(11,22,33,44,55,33) #count 获取指定元素在元祖中出现的次数 print(tu.count(33)) #i ...

随机推荐

  1. DOCKER 学习笔记7 Docker Machine 建立虚拟机实战,以及错误总结

    前言 通过以上6小节的学习,已经可以使用DOCKER 熟练的部署应用程序了.大家都可以发现使用 DOCKER 带来的方便之处,因为现在的话,只是在一台服务器上部署,这样部署,我们只需要一条命令,需要的 ...

  2. C++ STL IO流 与 Unicode (UTF-16 UTF-8) 的协同工作

    09年研究技术的大神真的好多,本文测试有很多错误,更正后发布下(可能与编辑器相关). file.imbue(locale(file.getloc(), new codecvt_utf8<wcha ...

  3. 全卷积网络FCN

    全卷积网络FCN fcn是深度学习用于图像分割的鼻祖.后续的很多网络结构都是在此基础上演进而来. 图像分割即像素级别的分类. 语义分割的基本框架: 前端fcn(以及在此基础上的segnet,decon ...

  4. 消息中间件面试题31道RabbitMQ+ActiveMQ+Kafka

    消息中间件面试题31道RabbitMQ+ActiveMQ+Kafka 前言 文章开始前,我们先了解一下什么是消息中间件? 什么是中间件? 非底层操作系统软件,非业务应用软件,不是直接给最终用户使用的, ...

  5. 位运算在状态压缩DP中的应用

    一.判断一个数字X的i位是不是1 方法:   << (i-)) & x > )  原理: 1左移(i-1)位,相当于制造了一个就i位上是1其他位都是0的一个二进制数.将这个数 ...

  6. 斐波那契数列(php实现)

    描述 斐波那契数列指的是这样一个数列:1.1.2.3.5.8.13.21.34... 规则 : 有N个数,第i个数的值 N(i)= N(i-1) + N(i-2) 需求: 给出下标i ,求第i 的个数 ...

  7. Spring Cloud第十四篇 | Api网关Zuul

    ​ 本文是Spring Cloud专栏的第十四篇文章,了解前十三篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring C ...

  8. MySql Docker的一些操作方法

    偶尔有需求,涉及到数据库的改动,那一定要表结构改动.程序调试都先在测试环境淬炼千百遍. 现在流行微服务.docker部署,很容易拉起一整套环境. Compose File Demo mysql: im ...

  9. VFP执行 SQL Server 储存过程示例

    PUBLIC errvalPUBLIC errmsgPUBLIC handleerrval=0errmsg=' ' *Sql Server 连接参数sourcename= 'test'user= 's ...

  10. LVS 介绍 原理

    一. LVS简介       LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtual ...