python语法.docx
- 文档编号:2455595
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:28
- 大小:24.80KB
python语法.docx
《python语法.docx》由会员分享,可在线阅读,更多相关《python语法.docx(28页珍藏版)》请在冰豆网上搜索。
python语法
列表
列表list
列表的定义
1.列表中由一系列特定元素组成,元素与元素之间可能没有任何关联关系,但他们之间有先后顺序关系。
2.列表是一种序列
3.列表可以改变存储的各个元素
4.列表是一种容器
序列类型有:
str
list
---以下后面会学---
tuple
bytes
bytearray
创建空列表:
L=[]#L绑定一个空列表
创建非空列表:
L=[1,2,3,4]
L=["Beijing","Shanghai","Shenzhen"]
L=[True,False,1,"Two",3.14,(1+2j)]
L=[1,2,[3.1,3.2,3.3],4]
列表的构造(创建)函数
list()生成一个空列表,等同于[]
list(iterable)用可迭代对象初始化一个列表
练习:
生成一个存在10000以内奇数的列表(用交互环境实现)
列表的运算:
算术运算:
+ += * *= (类似于str的用法)
+用于拼接列表
x=[1,2,3]
y=[4,5,6]
z1=x+y #z1=[1,2,3,4,5,6]
z2=y+x #z2=[4,5,6,1,2,3]
+=原列表与右例列表拼接后变量绑定新列表
x=[1,2,3]
y=[4,5,6]
x+=y #x=[1,2,3,4,5,6]
*生成重复的列表:
L=[1,2]*3 #L=[1,2,1,2,1,2]
L2=3*[5,6] #L2=[5,6,5,6,5,6]
*=用原列表生成重复的列表,用变量绑定新生成的列表
x=[1,2,3]
x*=2 #x=[1,2,3,1,2,3]
比较运算:
>>=<<===!
=
x=[1,2,3]
y=[1,2,4]
[1,'two']>["two",1]#TypeError
列表推导式(listcomprehension)
列表推导式是用可迭代对象依次生成列表内元素的方式:
列表推导式是表达式
语法:
[表达式for变量in可迭代对象]
或
[表达式for变量in可迭代对象if条件表达式]
说明:
1.先从可迭代对象取一个值,用变量绑定
2.调用表达式,把当前的表达式结果追加到列表中
3.重复上述步骤,直到可迭代对象不再提供数据为止
4.forin表达式的if子句可以省略,省略后将对所有生成的对象进行处理
5.如果if条件语句的真值测试值为False,则可迭代对象生在的数据将被丢弃
示例:
#生成一个数值为1~9的平方的列表
[1,4,9,16,.....81]
#用for语循环实现
L=[]
forxinrange(1,10):
L.append(x**2)
#用列表推导式实现
L=[x**2forxinrange(1,10)]
生成:
[1,3,5,7,9,.....99]列表
L=[xforxinrange(1,100,2)]
L=[2*x-1forxinrange(1,51)]
示例:
上题的另一种解法:
L=[xforxinrange(100)ifx%2==1]
练习:
用列表推导式生成1~100的x**x-1次方的列表,把能被7整数的数去掉
1**1-1,2**2-1,3**3-1,.....99**99-1
答案:
L=[x**x-1forxinrange(1,100)if(x**x-1)%7!
=0]
列表推导式的嵌套:
语法:
[表达式1
for变量1in可迭代对象1
for变量2in可迭代对象2(if真值表达式2)]
()表示可省略
示例:
已经有字符 s="ABC",字符串d="123"
想生成列表['A1','A2','A3','B1','B2',...]
#用循环嵌套:
s="ABC"
d="123"
L=[]
forxins:
foryind:
L.append(x+y)
用列表推导式实现
s="ABC"
d="123"
L=[x+yforxinsforyind]
列表推导式练习:
用列表推导式生成如下列表:
[1,4,7,10,.....100]
答案:
[xforxinrange(1,101,3)]
2.生成如下列表(思考题):
[[1,2,3],[4,5,6],[7,8,9]]
答案1:
[[x,x+1,x+2]forxinrange(1,8,3)]
答案2:
[[yforyinrange(x,x+3)]forxinrange(1,8,3)]
字符串文本解析方法:
S.split(sep=None) 用sep字符将字符串分隔,返回关于字符串的列表
S.join(iterable) 将一个可迭代对用字符S进行拼接,生成新的字符串
示例:
s="Beijingiscapital"
L=s.split('')
s2='-'.join(L) #s2="Beijing-is-capital"
思考:
有字符串"hello"能否生成"hello"和"h->e->l->l->o"
s="hello"
print(' '.join(s))
print('->'.join(s))
''.join(list(s))
元组tuple
什么是元组:
元组是不可变的序列,同list一样,可以存放任意类型的元素
字面值的表示方法:
用小括号()括起来,单个元素括起来后加逗号(,)区分单个对象还是元组
创建空元组:
T=()
非空元组
T=200, #含有一个元素的元组
T=(20,) #有一个元素的元组
T=(1,2,3) #有3个元素的元组
T=100,200,300 #有3个元素的元组
错误示例:
t=(20) #错的t绑定20(整数型)
x,y,z=(100,200,300) #序列赋值(不是元组)
x,y,z=[100,200,300] #序列赋值(不是元组)
x,y,z="ABC"
元组的构造(创建)函数
tuple() 生成一个空的元组,等同于()
tuple(iterable) 用可迭代对象生成一个元组
算术运算:
+ += * *=
示例:
t=(1,2,3)+(4,5,6)
t=(1,2)*3
t*=2
id(x)函数
id(x) 用于返回一个对象在内存在的地址
注:
is运算符就是比较的内存地址
示例:
t=(1,2,3)
id(t)
t+=(4,5,6)
id(t)
L=[1,2,3]
id(L)
L.append(4)
id(L)
in/notin运算符:
示例:
t=(1,'2',3,(4+4J))
2int # True?
索引
索引的规则等同于字符串的规则
注:
元组不能用索引赋值
示例:
t=(1,'2',3,(4+4J))
t[1]=2 #出错
切片
用法等同于字符串的切片
元组的切片返回一个新的元组
示例:
t=tuple(range(10))
t2=t[1:
:
3]
综合练习:
生成一个x的平方的元组
(1,4,9,16,5**2,81)
思考:
t=("abc",[1,2,3])
t[1][1]=2.2222#结果是什么?
元组的方法:
T代表元组
T.index(value[,begin[,end]]) 返回对应元素的下标,如果不存在则引发ValueError异常错误
T.count(value) 返回元组中元素的个数
序列相关的函数总结:
len(seq)
max(x)
min(x)
sum(x)
any(x)
all(x)
str(obj)
list(iterator)
tuple(iterator)
-------以下是新的------
reversed(seq) 返回反向顺序的可迭代对象
sorted(iterable,reverse=False) 返回已排序的列表
示例:
L=[3,5,9,6]
#L.reverse()
reversed(L)
字典dict
字典的定义
1.字典是一种可变的容器,可以存储任意类的数据
2.字典中每个数据都是用"键"(key)进行索引的(不象序列可以下标索引)
3.字典中的数据没有先后关系,字典的存储是无序的
4.字典中的数据是以键(key)-值(value)对的形式进行存储
5.字典的键不能重复,且只能用不可变类型作为字典的键
字典的字面值表示方法:
以{}括起来,以冒号(:
)分割键值对,各键值对之间用逗号(,)分隔开
创建空字典:
d={}
创建非空字典的方法:
d={"name":
"weimingze","age":
35}
d={(2008,8,8):
"olympic"}
d={1:
"one",2:
"two"}
d={None:
"Wu...."}
字典的构造(创建)函数
dict() 创建一个空的字典
dict(iterable) 用可迭代对象创建一个字典
例:
d=dict() 空
L=[("name","weimingze"),("age",35)]
d=dict(L) #用可迭代对象生成字典
练习:
有列表:
names=["weimingze","tarena","xiaozhang"]
ages=[35,18,20]
用这两个列表生成如下字典:
{"weimingze":
35,"tarena":
18,....}
答案见:
exercise/dict_create.py
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 语法