python视频教程栏目介绍第二篇Python基础知识。
本系列Python基础教程共四篇,本文是第二篇。
6.2 元组
tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义。
- 支持索引和切片操作
- 可以使用 in查看一个元素是否在tuple中。
- 空元组()
- 只含有一个元素的元组("a",) #需要加个逗号
优点:tuple比list速度快;对不需要修改的数据进行‘写保护’,可以是代码更安全
tuple与list可以相互转换,使用内置的函数list()和tuple()。
l = [1, 2, 3] print( l )# [1, 2, 3]t = tuple(l) print(t) # (1, 2, 3)l = list(t)print (l) #[1, 2, 3]复制代码
元组最通常的用法是用在打印语句,如下例:
name = "Runsen"age = 20print( "Name: %s; Age: %d") % (name, age)# Name: Runsen; Age: 20复制代码
函数如下:
- count(value)
返回元组中值为value的元素的个数
t = (1, 2, 3, 1, 2, 3)print (t.count(2) )# 2复制代码
- index(value, [start, [stop]])
返回列表中第一个出现的值为value的索引,如果没有,则异常 ValueError
t = (1, 2, 3, 1, 2, 3) print( t.index(3) )# 2try: print (t.index(4))except ValueError as V: print(V) # there is no 4 in tuple复制代码
6.3 字典
字典由键值对组成,键必须是唯一的;
eg: d = {key1:value1, key2:value2};
空字典用{}表示;字典中的键值对是没有顺序的,如果想要一个特定的顺序,那么使用前需要对它们排序;
d[key] = value
,如果字典中已有key
,则为其赋值为value
,否则添加新的键值对key/value
;
使用del d[key]
可以删除键值对;判断字典中是否有某键,可以使用in 或 not in;
d = {} d["1"] = "one"d["2"] = "two"d["3"] = "three"del d["3"]for key, value in d.items(): print ("%s --> %s" % (key, value))#1 --> one#2 --> two复制代码
dict函数如下:
- clear()
删除字典中所有元素
d1 = {"1":"one", "2":"two"} d1.clear()print (d1 )# {}复制代码
- copy()
返回字典的一个副本(浅复制)
d1 = {"1":"one", "2":"two"} d2 = d1.copy() print( d2 )#{'1': 'one', '2': 'two'}print(d1 == d2) # Trueprint(d1 is d2) # False复制代码
浅复制值相同,但是对象不同,内存地址不同。
- dict.fromkeys(seq,val=None)
创建并返回一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值(默认为None)
l = [1, 2, 3] t = (1, 2, 3) d3 = {}.fromkeys(l)print (d3) #{1: None, 2: None, 3: None}d4 = {}.fromkeys(t, "default") print(d4) #{1: 'default', 2: 'default', 3: 'default'}复制代码
- get(key,[default])
返回字典dict中键key对应值,如果字典中不存在此键,则返回default的值(default默认值为None)
d5 = {1:"one", 2:"two", 3:"three"}print (d5.get(1) )#oneprint (d5.get(5)) #Noneprint (d5.get(5, "test") )#test复制代码
- has_key(key)
判断字典中是否有键key
d6 = {1:"one", 2:"two", 3:"three"} print( d6.has_key(1) ) #Trueprint (d6.has_key(5)) #False复制代码
- items()
返回一个包含字典中(键, 值)对元组的列表
d7 = {1:"one", 2:"two", 3:"three"}for item in d7.items(): print (item)#(1, 'one')#(2, 'two')#(3, 'three')for key, value in d7.items(): print ("%s -- %s" % (key, value))#1 -- one#2 -- two#3 -- three复制代码
- keys()
返回一个包含字典中所有键的列表
d8 = {1:"one", 2:"two", 3:"three"}for key in d8.keys(): print (key)#1#2#3复制代码
- values()
返回一个包含字典中所有值的列表
d8 = {1:"one", 2:"two", 3:"three"}for value in d8.values(): print( value)#one#two#three复制代码
- pop(key, [default])
若字典中key键存在,删除并返回dict[key],若不存在,且未给出default值,引发KeyError异常
d9 = {1:"one", 2:"two", 3:"three"}print (d9.pop(1) )#oneprint( d9) #{2: 'two', 3: 'three'}print( d9.pop(5, None)) #Nonetry: d9.pop(5) # raise KeyErrorexcept KeyError, ke: print ( "KeyError:", ke) #KeyError:5复制代码
- popitem()
删除任意键值对,并返回该键值对,如果字典为空,则产生异常KeyError
d10 = {1:"one", 2:"two", 3:"three"}print (d10.popitem() ) #(1, 'one')print (d10) #{2: 'two', 3: 'three'}复制代码
- setdefault(key,[default])
若字典中有key,则返回vlaue值,若没有key,则加上该key,值为default,默认None
d = {1:"one", 2:"two", 3:"three"}print (d.setdefault(1)) #oneprint (d.setdefault(5)) #Noneprint( d) #{1: 'one', 2: 'two', 3: 'three', 5: None}print (d.setdefault(6, "six")) #sixprint (d) #{1: 'one', 2: 'two', 3: 'three', 5: None, 6: 'six'}复制代码
- update(dict2)
把dict2的元素加入到dict中去,键字重复时会覆盖dict中的键值
d = {1:"one", 2:"two", 3:"three"} d2 = {1:"first", 4:"forth"} d.update(d2)print (d) #{1: 'first', 2: 'two', 3: 'three', 4: 'forth'}复制代码
- viewitems()
返回一个view对象,(key, value)pair的列表,类似于视图。优点是,如果字典发生变化,view会同步发生变化。在 迭代过程中,字典不允许改变,否则会报异常
d = {1:"one", 2:"two", 3:"three"}for key, value in d.viewitems(): print ("%s - %s" % (key, value))#1 - one#2 - two#3 - three复制代码
- viewkeys()
返回一个view对象,key的列表
d = {1:"one", 2:"two", 3:"three"}for key in d.viewkeys(): print( key)#1#2#3复制代码
- viewvalues()
返回一个view对象,value的列表
d = {1:"one", 2:"two", 3:"three"}for value in d.viewvalues(): print (value)#one#two#three复制代码
6.4 序列
序列类型是指容器内的元素从0开始的索引顺序访问,一次可以访问一个或者多个元素;列表、元组和字符串都是序列。 序列的三个主要特点是
- 索引操作符和切片操作符
- 索引可以得到特定元素
- 切片可以得到部分序列
索引操作符和切片操作符
numbers = ["zero", "one", "two", "three", "four"] print (numbers[1] )# oneprint (numbers[-1] )# four#print( numbers[5]) # raise IndexErrorprint (numbers[:]) # ['zero', 'one', 'two', 'three', 'four']print (numbers[3:]) # ['three', 'four']print (numbers[:2]) # ['zero', 'one']print (numbers[2:4] )# ['two', 'three']print (numbers[1:-1] )# ['one', 'two', 'three'] 复制代码
切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束。
如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。
注意,返回的序列从开始位置 开始 ,刚好在结束位置之前 结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外。 可以用负数做切片。负数用在从序列尾开始计算的位置。
相关免费学习推荐:python视频教程
以上是给小白整理的第二篇Python知识点的详细内容。更多信息请关注PHP中文网其他相关文章!

要在有限的时间内最大化学习Python的效率,可以使用Python的datetime、time和schedule模块。1.datetime模块用于记录和规划学习时间。2.time模块帮助设置学习和休息时间。3.schedule模块自动化安排每周学习任务。

Python在游戏和GUI开发中表现出色。1)游戏开发使用Pygame,提供绘图、音频等功能,适合创建2D游戏。2)GUI开发可选择Tkinter或PyQt,Tkinter简单易用,PyQt功能丰富,适合专业开发。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。 Python以简洁和强大的生态系统着称,C 则以高性能和底层控制能力闻名。

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Atom编辑器mac版下载
最流行的的开源编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。