"""
列表:可变数据类型,对列表内部的元素可以进行修改
元祖: 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. 实验13:VLAN/TRUNK/VTP/

    实验10-1: 划分VLAN Ø    实验目的通过本实验,读者可以掌握如下技能:(1) 熟悉VLAN 的创建(2) 把交换机接口划分到特定VLAN Ø    实验拓扑 实验步骤要配置VLAN,首先要 ...

  2. linux入门系列10--firewalld防火墙管理

    上一篇文章学习了用户及文件相关权限,本篇继续学习防火墙技术. 防火墙作为公网与内网之间的保护屏障,对系统至关重要.防火墙又分为硬件防火墙和软件防火墙,主要功能都是依据设置的策略对穿越防火墙的流量进行过 ...

  3. Java入门基础(变量、操作符与表达式)

    Java入门基础 1. 第一个程序 2.变量(命名.运算.整数/小数/字符串.布尔类型) 3.操作符与表达式(算术/逻辑/关系/赋值/自增/类型转换操作符) HelloWorld! public cl ...

  4. 生成HTML测试报告表格

    #生成HTML测试报告 #-*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by i ...

  5. .NET异步程序设计之任务并行库

    目录 1.简介 2.Parallel类 2.0 Parallel类简介 2.1 Parallel.For() 2.2 Parallel.ForEach() 2.3 Parallel.Invoke() ...

  6. Codeforces 1060C Maximum Subrectangle(子矩阵+预处理)

    题意:给出数组a,b,组成矩阵c,其中$c_{ij}=a_i*b_j$,找出最的大子矩阵,使得矩阵元素和<=x,求这个矩阵的size n,m<=2000 思路:对于子矩阵(l1...r1) ...

  7. 小程序云开发--内容安全审查API云调用

    云调用 云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用. 接口方法 openapi.security.msgSecCheck 需在 ...

  8. Qt使用双缓冲绘图时报错:pure virtual method called

    这个问题折磨了我将近四个小时. 起始原因是想写一个双缓冲绘图的画板,大概看了一下网上的教程,理解双缓冲绘图的思想后,没有完全参照网上的步骤,想着用自己的思路实现一下.(其实和网上的教程也没有太大差别) ...

  9. JVM解毒——JVM与Java体系结构

    你是否也遇到过这些问题? 运行线上系统突然卡死,系统无法访问,甚至直接OOM 想解决线上JVM GC问题,但却无从下手 新项目上线,对各种JVM参数设置一脸懵逼,直接默认,然后就JJ了 每次面试都要重 ...

  10. Linux设备中的UUID

    UUID简介 UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的.如果你在系统中启动的时候,使用盘符挂载时,可能找不到设备而加载失败,而使用UUID挂载时,则不会有这样的问题.( ...