houziaipangqi

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

写在前面:笔记全部是跟着老师一起敲的代码,最近电脑瓦特了,所以只能用老爷机的日记本记下老师上课讲的东西,但我运行不了

特别感谢的是xx学院的的刘老师,我都是边看他的课,边学他一起敲代码,然后晚上自己看,自己理解,感谢老师。

 

传值和传址的区别
-对于简单的数值,采用传值操作,即在函数内对参数的操作,不影响外面的变量
-对于复杂变量,包括list、set、dict等,采用传址操作,将会改变此外面的变量

def b(n):
    n += 100
    print(n)
    return None

bn = 9
print(bn)
b(bn)
print(bn)

 

关于列表的函数

a = ["a","b","woaizhangsiqi",33,100]

#append 插入一个内容,在末尾追加
a.append(100)

#insert 指定位置插入
a.insert(位置,data)

#del 删除
#pop(常用),从对位拿出一个元素,即把最后一个元素取出来
last_ele = a.pop()
print(last_ele)取出

#remove: 在列表中删除指定的元素,如果删除的值在list中没有,则报错
#即,删除指定的值应该使用try  excepty语句,或者先行判断
if x in list:
    list.remove(x)    
a.remove(data)#删除后的list还是原来的位置,可用id验证

#clear:清空
a.clear()#删除后的list还是原来的位置,可用id验证

#reverse:翻转
a.reverse()#翻转后的list还是原来的位置,可用id验证

#extend:扩展列表,两个列表,把一个拼接到另一个上
a.extend(b)

#count:查找列表中指定值或者元素的个数
a.count(data)

 

 

-copy:拷贝,浅拷贝
-列表类型变量赋值操作示例,

a = [1,4,7,4,88]
b = a
#list类型简单赋值,属于传址
b[3] = 2354
print(a) 此时打印出来的a也会改变
print(b)
为了解决以上问题,可以使用copy
b = a.copy()

 

深拷贝跟浅拷贝的区别
-浅拷贝,只拷贝第一层内容,嵌套的内容并没有拷贝
-深拷贝需要特定工具,后期老师会讲

bb = [2,5,3,[2,7,5]]
cc = bb.copy()
print(id(bb[3]))
print(id(cc[3]))

 

元组-tuple
-特性:有序,数据值可以访问,但内容不能修改,数据可以是任意类型,元组可以看成是一个不可更改的list
-特性:也具有list各种特点,包括索引,切片,运算等(这些操作会重新创建一个新的对象),此处不再写

#创建元组
t = ()
print(type(t))

#创建只有一个值的元组
t = (1,)此逗号必须带,不带是int
print(1)

t = 1,  也表示元组

#创建多个值的元组
t = (2,4,6,8,4)
t = 2,4,6,8,4

#list转换成元组
l = [1,4,6,3]
t = tuple(l)

#元组的遍历,一般采用for 循环
#双层元组遍历
t = ((2,5,8),(2,4,3),(3,6,8))
for i in t:
    print(i)

for k,m,n in t:
    print(k,"....",m,".....",n)

 

 

 

posted on 2018-08-10 13:13  houziaipangqi  阅读(219)  评论(0编辑  收藏  举报