补充内容
print(...)
print(value
, ..., sep
=' ', end
='\n', file=sys
.stdout
, flush
=False)
Prints the values to a stream
, or to sys
.stdout by default
.
Optional keyword arguments
:
file: a
file-like
object (stream
); defaults to the current sys
.stdout
.
sep
: string inserted between values
, default a space
.
end
: string appended after the last value
, default a newline
.
flush
: whether to forcibly flush the stream
.
Ellipsis
help(print)
print(...)
a
,b
,c
,*d
=1,2,3,4,5,6
print(a
,b
,c
,d
)
name
='david'
age
=12
print('her name is %s,her age is %d'%(name
,age
))
print('her name is'+name
+",her age is "+str(age
))
格式化字符串
%号格式化
占位符
格式描述
%dy有符号的整数%s字符串%c字符及ASCII码%o无符号八进制整数%x/%X无符号十六进制整数%e/%E浮点数,科学计数法%f浮点数
format格式化
(1)位置映射
print("Name:{},age:{}".format('tom',18))
(2) 关键字映射
print('{address},name:{},age:{}'.format('tom',19,address='sdsd'))
(3) 索引获取
print("第一个元素是:{0[0]},第二个元素是{0[1]}".format(('www.','baidu')))
列表
查
li=[]
print(type(li))
li=[1,2,3,'abv','vpn',['I','love','sda']]
sr='asd'
li1=list(sr)
li1=['I']
li2=['Love','PYTHON']
print(li1+li2)
li2=['C','i','t','y','City','sd',[1,2,'sd'],'sd','aa','sdsd']
print(len(li2))
print(li2[0],li2[-7])
print(li2[:5])
print(li2[::-1])
print(li2[7][1])
增
print(id(li2))
li2.append(li1)
print(li2)
li2.extend(li1)
print(li2)
改
li[5]='xxx'
li[2:6]=['x','y','z']
print(li)
删
pop()
不指定索引,默认删最后一个元素删除指定索引对应元素
remove
()
li
.remove
("e")
移除第一次遇到的指定元素
del li
[5]
del li
[]
删除指定下表元素删除整个列表
clear
()
清空列表元素
遍历
元素遍历
for i in li:
print(i)
索引遍历
for i in range(len(li)):
print(i)
枚举遍历
enumerate() ,对于一个可迭代的对象
for i
in enumerate(li
,2):
print(i
)
排序
li.reverse()
li.sort()
li.sort(reverse=True)
练习
1.input()函数实现往空列表中添加元素,当输入"q"的时候,结束输入,并返回列表。 2.随机生成30个0-10的随机整数,并统计每个数出现的次数, 返回的结果形式为[[0, 3], [1, 4], … , [10, 5]]
list1
=[]
while True:
ss
=input("请输入元素:")
if ss
!='q':
list1
.append
(ss
)
else:
break
print(list1
)
j
=1
list2
=[]
while j
<=30:
rand
=random
.randint
(0,10)
list2
.append
(rand
)
j
+=1
list4
=[]
for i
in range(10):
value1
=list2
.count
(i
)
li3
=[]
li3
.append
(i
)
li3
.append
(value1
)
list4
.append
(li3
)
print(list4
)
深浅拷贝
浅拷贝
只拷贝列表的第一层,如果列表里还有列表,修改其中一个二级列表后,浅拷贝的二级列表也会随之变化,因为嵌套列表的元素指向的还是同一个位置。
深拷贝
深拷贝拷贝对象所有的元素,包括多层嵌套的元素,因此是完全开辟了一个新的内存存储区。
列表解析式(列表生成式)
用来生成列表的特定的语法形式
格式
[表达式 for 迭代元素 in 可迭代对象]
实现原理
迭代[可迭代对象]中的每一个元素
每迭代一次的结果赋值给对应的的迭代元素。再通过表达式运算得到一个新的值
最后所有通过表达式计算的值以一个列表的形式返回
print([x
for x
in range(10) if x
%2==0])
三目元素符
y=10
x=y+1 if y>10 else y-1
print(x)
name=[1,2,3]
subjuct=[2,3,4,5]
ls= [3*[i,j] for i in name for j in subjuct ]
print(ls)
元组
有序
可以重复
不可更改
元组的创建
空元组的创建
tp=()
单元素元组的创建
tp=(1,)
单元素元组的创建,需要在单元素后面追加逗号
多元素元组的创建
拼接
重复
索引(偏移) 切片
tp
=(1,2,3,4,5,6)
tp2
=(7,8,9,10,11)
print(tp
+tp2
)
print(tp
[1])
print(tp
[2:4])
元组不可修改元素指的是最外一层元素,内层元素可以改变
查
索引查
切片查
index()
max(tp),min(tp)
枚举enumrate
for i ,k in enumrate(tp):
print i ,element
改
不行只能修改内层元素
增
不行
删
不能删除1某个元素
可以通过del删除整个元组
print(tp+tp2) print(tp[1]) print(tp[2:4])
- 元组不可修改元素指的是最外一层元素,内层元素可以改变
查
索引查
切片查
index()
max(tp),min(tp)
枚举enumrate
for i ,k in enumrate(tp):
print i ,element
改
不行只能修改内层元素
增
不行
删
不能删除1某个元素
可以通过del删除整个元组