首页 > 编程语言 >python_day7(补1)

python_day7(补1)

时间:2024-07-20 22:40:33浏览次数:8  
标签:python day7 元组 ## dict print strong 字典

数据类型

之前为列表类型

​ 插入一个元组的介绍 之后还有字典,三者区别为括号方式()[]{}



元组类型(tuple)

使用:先定义一个元组数据

vegetable_tuple = '(tomato','corn','cucumber','carrot','corn','pumpkin)'

  • 与列表类型格式很像,不过只能取不能改,需要特别注意
  • 一些使用函数:
    • 直接取值方式与列表取值一样,print(vegetable_tuple[-1]),可以改变数字.
    • in/not应用,print('apple' in vegetable_tuple),判断不在就在in前面加not,返回Ture/False.
    • 因为无法修改,append,del,pop等无法适用,要想修改只能重新定义tuple
    • 索引,count和index也可以应用
	print(vegetable_tuple.count('corn'))	#####count计数
	print(vegetable_tuple.index('corn'))	#####index索引第一个搜索目标位置序号

(一般使用列表类型即可)


字典类型(dict)

与前两种形成三大数据集类型

使用:先定义一个字典数据

    prize_dict = {'Excellent':['kevin','bob'],
                  'Average':['cola','laovet','peter'],
                  'poor':'xiaolei'}
  • 使用字典的话可以使得列表内的数据比较规整看起来整齐一点,而且便于索取(映射索取)

  • 据说最重要需要掌握的是

    print(prize_dict.keys())      #进行关键字打印
    print(prize_dict.values())     #变量全打印
    print(prize_dict.items())     #对应打印
    ==对于items==
    ###得到元组
    for i in prize_dict.items():
        print(i)
    ###得到解压缩的元组
    for v,w in prize_dict.items():
        print(v,w)
    
  • 获取,get,示例为,print(prize_dict.get('Average')),get内填入的是keys>>得到的是keys所含内容,这个与直接方框取值效果基本相同,但是get在遇到没有对应的取值时返回none,不会报错.

  print(prize_dict.get('QQe',1000))  ###这样打印时会将1000作为none输出,个人觉得可以作为既定反馈
  • 更新,一般是字典对字典,update,同样keys进行平替,没有新keys,直接全搬!!!不懂可以演练
prase_dict = {'Excellent':['mingming'],
              'good':'whame'}			##定义了新的一个字典
prize_dict.update(prase_dict)			##将原字典进行更新,更新内容来自新字典
print(prize_dict)						##打印原字典,注意!!!跟有些情况一样,直接打印上面会得到none

##输出
##>>{'Excellent': ['mingming'], 'Average': ['cola', 'laovet', 'peter'], 'Poor': 'xiaolei', 'good': 'whame'}
  • fromkeys,这个看起来不常用,可以看看,应该是新建字典所用
prase_dict = dict.fromkeys(prase_dict.keys(),111)
#prase_dict = dict.fromkeys([1,2,3],111)
print(prase_dict)
###分别输出
#>>{'Excellent': 111, 'good': 111}
##>>{1: 111, 2: 111, 3: 111}
  • 查缺添加,setdefault,有这个keys则原来的不变,没有的则添加
 ###
 prase_dict.setdefault('color','White')
 print(prase_dict)
 ##输出
 #{'Excellent': ['mingming'], 'good': 'whame', 'color': 'White'}

集合类型()

居然还有一个集合类型,我没想到

使用前先定义

  • 这个可以储存多个值,但是只能存不可变值,用{}表示

  • 空集合定义方法

 # empty_jihe = set()			###在这已经生成一个空集合了,但是直接打印empty_jihe得到的是set()
 # empty_jihe.add(2)			
 # print(empty_jihe)			##在这里打印empty_jihe得到集合>>{2}
  • 进行去重,变为最简的
 s1 = [1,2,1,2,2]
 print(set(s1))
 ##输出为
 #{1, 2}
  • 集合运算
strong = {'mingming','lili','fangfang','adult','sebrina'}
thin = {'kid','man','female','adult'}
##并(有下面两种方法)
print(strong | thin)
print(strong.union(thin))
##交(有下面两种方法)
print(strong & thin)
print(strong.intersection(thin))
##差(有下面两种方法)
print(strong - thin)
print(strong.difference(thin))
##对称差(有下面两种方法)两者都没有的补在一起
print(strong ^ thin)
print(strong.symmetric_difference(thin))
##父级(有下面两种方法)看有没有包含,,,,同理可得子集issubset
print(strong > thin)        ##也可以是 >=
print(strong.issuperset(thin))
##判断是否有交集
# print(strong.isdisjoint(thin))   ###交集空才是Ture
  • 函数运算
s = set()
s.add('a')          ##添加
print(s)

s = {1,2 , 3, 4 ,'a'}
s.remove('a')       ##移除
print(s)
s.discard('b')      ##移除,移除没有的不会报错,与remove不同
print(s)
  • 最后,这个是可变的,可以id不变值变化!!!!!!!!


来源于csdn的查找

1、[ ]列表:

列表是序列的一种,列表元素可以由任意类型的数据构成,不要求各元素具有相同的类型

list_sample = ['a',200,'b','c',100]

2、{ }字典:

字典是python中唯一内置的映射类型,即通过键名来查找键值,元素集合无序,键名是任何不可修改类型的数据,如数值、字符串和元组等,而键值可以使任何类型的数据

dic={'jon':'boy','lili':'girl'}    
 
print(dic['lili'])
 
##输出 'girl'

通过list()函数可以将字典转化成列表,但是列表不能转化为字典

同理,通过tuple()函数可以将字典转化成元组,但是元组不能转化为字典

3、()元组:

元组中的元素也可以由不同的数据类型组成,同列表一样是序列中的一种,可以利用序列操作对元组进行处理,但元组是不刻更改的,即元组创建之后不能修改、添加、删除成员

tuple_sample = ('a',200,'b',150,'c',100)

标签:python,day7,元组,##,dict,print,strong,字典
From: https://www.cnblogs.com/yyds703/p/18313912

相关文章

  • 在 python 中写入 %appdata% 时出现奇怪的行为
    我试图将一些数据写入%appdata%。一切似乎都像Script1的输出中所示的那样工作。正在创建新目录并保存文件,并且也成功检索数据。但尝试查看文件资源管理器中的数据时,该文件夹不存在!CMD也找不到文件和目录。后来我手动创建了文件,检查了一下,发生了什么。CMD现在可以找到该文......
  • 使用 selenium 在 python 中打开 chrome 中的链接
    通过此链接https://bancadatistatisticaoas.inail.it/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FBDS%2F_portal%2FINF_Definiti_Industria_e_Servizi我需要单击“FCostruzioni”,然后单击F41COSTRUZIONIED埃迪菲西。这是我的代码,但它不起作用。我做错了......
  • 七大排序算法的Python实现
    七大排序算法的Python实现1.冒泡排序(BubbleSort)算法思想冒泡排序通过重复交换相邻的未按顺序排列的元素来排序数组。每次迭代都将最大的元素“冒泡”到数组的末尾。复杂度分析时间复杂度:O(n^2)空间复杂度:O(1)defbubble_sort(arr):n=len(arr)for......
  • python反序列化
    之前hgame中遇到python反序列化,这次正好借分享会来尽可能详细学习一下python反序列化基础知识什么是序列化?反序列化?在很多时候为了方便对象传输,我们往往会把一些内容转化成更方便存储、传输的形式。我们把“对象->字符串”的翻译过程称为“序列化”;相应地,把“字符串->对......
  • 我在 python 项目中不断收到“无法识别图像文件中的数据”错误
    我正在尝试向我的TK窗口添加一个图标,但我不断收到一条错误消息:Traceback(mostrecentcalllast):File"C:\Users\roger\source\repos\PythonApplication\PythonApplication.py",line7,in<module>windowIcon=tk.PhotoImage(file="C:/Users/roger/Downloa......
  • Python学习笔记41:游戏篇之外星人入侵(二)
    前言在上一篇文章,我们已经创建好了项目目录,在今天,我们主要编写入口模块的功能。mainmain.py模块是我们游戏程序的入口,所有我们需要在模块中编写游戏主启动以及主页面相关的代码。当前我们的main模块是这样的,这是我们创建项目时默认生成一些代码,接下来我们就要进行我们......
  • Python学习笔记39:进阶篇(二十八)pygame的使用之按键映射及按键失效问题解决
    前言基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。我们的下一步目标是完成pythoncrashcourse中的外星人入侵项目,这是一个2D游戏项目。在这之前,我们先简单学习一下pygame模块。私信我发送消息python资料,......
  • Python学习笔记40:游戏篇之外星人入侵(一)
    前言入门知识已经学完,常用标准库也了解了,pygame入门知识也学了,那么开始尝试小游戏的开发。当然这个小游戏属于比较简单的小游戏,复杂的游戏需要长时间的编写累计开发经验,同时也需要一定的时间才能编写出来。现在的话还是嫩了点。从基础的简单的开始,学习实践,慢慢的成长才......
  • Python学习笔记37:进阶篇(二十六)pygame的使用之输入处理
    前言基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。我们的下一步目标是完成pythoncrashcourse中的外星人入侵项目,这是一个2D游戏项目。在这之前,我们先简单学习一下pygame模块。私信我发送消息python资料,......
  • Python学习笔记38:进阶篇(二十七)pygame的使用之时间与帧数控制
    前言基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。我们的下一步目标是完成pythoncrashcourse中的外星人入侵项目,这是一个2D游戏项目。在这之前,我们先简单学习一下pygame模块。私信我发送消息python资料,......