app=['abc','zty']
索引-1指向最后一个元素,-2倒数第二
在列表末尾添加元素:append('…') 任何位置插入insert(2,'…') extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;
m.extend([元素A,元素B,……]
删除元素del mortor[1]
mortor.pop(n)删除第n个元素,A= mortor.pop(n)为删的那一个元素
Remove('…')只知名字不知位置时
1) 深拷贝:
M=[A,b,a,c]
N=M[:]
2) 浅拷贝:
N=M
有人说可以直接将M赋值给N也是一样的,虽然表面看起来两者的实现效果是一样的,但是如果你要继续对N进行操作的时候就会出现问题,因为对于正确的第一种拷贝复制,它的作用是将列表M复制下来给N,如果后面对M进行操作,它对于N是完全没有影响的,而我们如果采用赋值的方式,那么在后面对M操作以后就会影响到N,N的值也会随之改变。
2.组织列表
Sort()按升序永久排序,sort(reverse=True)按降序
sorted临时排序
reverse()反序
len()确定列表长度
3.操作列表
(1)缩进来判断代码之间关系:每级4个空格
(2)数字集操作:
for value in range(1,5):
printf(value)
结果为1-4
Even_numbers=list(range(2,2,11))
min(digits),max(),sum()
(3)列表解析
Squares=[value**2 for value in range(1,11)]
(4)处理列表元素:切片
指定第一和最后一个元素索引,到最后一个元素之前停止
Print(plays[0:3]) print(players[:7]) 最后三名:print(players[-3:])
复制列表:f_food=my_food[:]
不可变的列表
Dimensions=(10,50)只能重新定义整个元组进行修改
元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义
tup1 = (50,);
元组可以使用下标索引来访问元组中的值
封装:
mytuple=3,4,5
x,y,z=mutuple
Python元组包含了以下内置函数
1、cmp(tuple1, tuple2):比较两个元组元素。
2、len(tuple):计算元组元素个数。
3、max(tuple):返回元组中元素最大值。
4、min(tuple):返回元组中元素最小值。
5、tuple(seq):将列表转换为元组。
tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
定义:def greet_user():
"""create a function""" #三括号用来进行函数说明
传递实参:位置实参,关键字实参,可给形参默认值
python 函数的参数传递:
def build_person(first_name,last_name,age=' '): #可选参数默认值设为空字符串
person={'first':first_name,'last':last_name}
if age:
person['age']=age
return person
musician= build_person('cecila','Zhao',age=21)
当不想修改原列表时可使用 print_model(unprinted_designs[ : ],completed_models) #切片表示创建了一个副本并使用
传递任意数量实参: def make_pizza(size,*toppings): #之后所有实参都收入toppings里
def build_profile(first,last,**user_info):
profile={ }
profile['first_name']=first
profile['last_name']=last
for key,value in user_info.items(): #items()获取列表的key,value
profile[key]=value
return profile
#不定长参数
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print "输出: "
print arg1 for var in vartuple:
print var return;
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 ,。
with open('a.txt') as file:
contents=file.read()
print(contents)
#写入空文件:
filename='a.txt'
with open(filename,'w') as file_object:
file_object.write("I love you")
用try except模块来处理
ZeroDevisionError:
try:
answer=int(first_number)/int(second_number)
except ZeroDevisionError:
print("you can't devide by zero") pass #失败时不想有提示
else:
print(answer)