python语法Word格式.docx

上传人:b****2 文档编号:15372528 上传时间:2022-10-29 格式:DOCX 页数:28 大小:24.80KB
下载 相关 举报
python语法Word格式.docx_第1页
第1页 / 共28页
python语法Word格式.docx_第2页
第2页 / 共28页
python语法Word格式.docx_第3页
第3页 / 共28页
python语法Word格式.docx_第4页
第4页 / 共28页
python语法Word格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

python语法Word格式.docx

《python语法Word格式.docx》由会员分享,可在线阅读,更多相关《python语法Word格式.docx(28页珍藏版)》请在冰豆网上搜索。

python语法Word格式.docx

练习:

生成一个存在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+=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*=2 

#x=[1,2,3,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="

d="

forxins:

foryind:

L.append(x+y)

用列表推导式实现 

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->

o"

print('

 '

.join(s))

->

'

.join(list(s))

元组tuple

什么是元组:

元组是不可变的序列,同list一样,可以存放任意类型的元素

字面值的表示方法:

  用小括号()括起来,单个元素括起来后加逗号(,)区分单个对象还是元组

创建空元组:

T=()

非空元组

  T=200, 

#含有一个元素的元组

T=(20,) 

#有一个元素的元组

T=(1,2,3) 

#有3个元素的元组

T=100,200,300 

错误示例:

t=(20) 

#错的t绑定20(整数型)

x,y,z=(100,200,300) 

#序列赋值(不是元组)

x,y,z=[100,200,300] 

x,y,z="

元组的构造(创建)函数

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)

L=[1,2,3]

id(L)

L.append(4)

in/notin运算符:

t=(1,'

2'

3,(4+4J))

2int 

True?

索引 

索引的规则等同于字符串的规则 

元组不能用索引赋值

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:

d={None:

Wu...."

字典的构造(创建)函数

dict() 

创建一个空的字典

dict(iterable) 

用可迭代对象创建一个字典

例:

d=dict() 

L=[("

),("

35)]

d=dict(L) 

#用可迭代对象生成字典

有列表:

names=["

tarena"

xiaozhang"

ages=[35,18,20]

用这两个列表生成如下字典:

{"

35,"

:

18,....}

答案见:

exercise/dict_create.py

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1