x = [1, 2, 3]
print(x) # [1, 2, 3]
print(x[0]) # 1
print(x[-1]) # 3 用索引-1表示列表最后一个元素,索引-n访问列表倒数第n个元素
列表方法
.append(..) # 在列表尾部添加元素
.insert(..)
.pop() # 删除列表末尾元素,将其作为返回值返回
.pop(i) # 删除列表i位置元素,将其作为返回值返回
.remove(value) # 删除列表中值为value的元素,只删除首个遇到的元素
.sort() # 对列表排序
.sort(reverse=True) # 递减排序
.sorted() # 排序后列表作为结果返回,原始列表不变
.reverse() # 改变列表存储次序
列表删除
del x[i] # 删除列表i位置元素
len(x) # 返回列表元素个数
for x in listx:
Python利用缩进来表达块的概念
没有显式的{}
range(s, e) # 返回由[s,e)区间数字构成的集合对象
range(s, e, step = 1)
list(range(s, e)) # 得到由[s,e)区间数字构成的列表对象
min(listx) # 返回列表最小值
max(listx)
sum(listx)
listx[s=0,e=尾后索引] # 返回列表[s,e)区间元素构成的子列表
直接对列表对象赋值时,两个对象指向同一个底层列表[引用]
lista = listb
现在,lista,listb指向同一个列表
python将不能修改的值称为不可变的
不可变的列表称为元组
元组用圆括号标识
定义元组后,可用索引来访问其元素,元素不可修改
其他用法和列表类似
每条if的核心都是一个值为True或False的表达式
==
<
>
<=
>=
!=
and
or
a in listx # 检查列表是否包含a
not in
if xxx:
xxx1
else:
xxx2
if xxx:
xxx1
elif xx:
xxx2
else:
xxx3
在if语句中将列表名用在条件表达式中时,在列表非空时,表达式为True,列表空时,表达式为False
字典
y={}
x={'1':'1', '2':2}
x['1']
x['2']
x['3']='new'
print(x) #{'1':'1', '2':2, '3':'new'}
del x['1']
for key, value in x.items():
xxx1
...
for key in x.keys():
xx1
...
for k in sorted(x.keys()):
xx1
...
for v in x.values():
xx1
...
for k in set(x.values()):
xx1
...
x1={1:1,2:2}
x2={11:11}
x=[x1,x2]
p={
'1':1,
'11':[1,2,3],
}
x ={
'1':{
1:1,
11:2,
},
'2':2,
}
3.py
from 1 import fun
from 1 import class # 从模块2导入类class
fun() # 使用时无需加1.
导入时指定别名
4.py
from 1 import fun as funx
funx() # 可避免与本程序的fun名字冲突
使用as给模块指定别名
import x as y
from x import * # 导入模块x内所有函数和类,此后可直接用函数名调用
类
x.py
class x():
def fun1(...):
xxx1
def fun2(...):
xxx2
def __init__(self, i1, i2):
xxx
x = x(1,2)
类的方法__init__,每当创建类的实例,该方法自动被调用
每个类的方法第一个参数必为self,指向实例本身,由python自动传入
__init__参数1外的其他参数依赖产生类实例时传入
在2.7版本
class x(object):
xxx
x.py
class base():
def __init__(self, i1, i2):
xxx
class driv(base):
def __init__(self, i1, i2):
super().__init__(i1, i2)
# 2.7版本的继承
class base(object):
def __init__(self, i1, i2):
xxx
class drive(base):
def __init__(self, i1, i2):
super(drive, self).__init__(i1,i2)
导入模块中的类
from car[模块名,每个独立的.py文件构成一个模块] import Car[类名]
自定义工作流程
Python标准库
from collections import OrderDict
xxx = OrderDict()
x[1]=xxx1
x['2']=xxx2
for name, language in xxx.items():
// name.tite() language.title()
文件和异常
从文件读数据
with[由python替你关闭,文件访问对象只能在with代码块内有效] open('x.xxx')[只需传入文件路径] as file_obj[文件访问对象]:
contents = file_obj.read()
print(contents)
file = 'xxx'
with open(file) as obj:
for line in obj:
print(line)
file = 'xxx'
with open(file) as obj:
lines = obj.readlines()
for line in lines:
print(line.rstrip())// rstrip,lstrip,strip
写入文件
filename = 'xxx'
with open(filename, 'w'['a']) as obj:
obj.write("xxx")