Python中内置的数据结构(变量类型)(2)

内置的数据结构(2)

--------------------------

.传值和传址的区别
.对于简单的数值采用传值操作,即在函数内对参数的操作不影响外面的变量
.对于复杂的变量采用传址操作,此时函数内的参数和外部变量是同一个内容
def a(n):
     n[2]=300
     print(n)
     return none
def b(n):
     n+=100
     print(n)
     return none
an=[1,2,3,4,5,6]
bn=9
print(an)
a(an)
print(an)
print(bn)
b(bn)
print(bn)
>>[1,2,3,4,5,6]
  [1,2,300,4,5,6]
  [1,2,300,4,5,6]
   9
   100
   9    
----------------------------

-关于列表的函数
l=['a','love harbin',5+4j]
append插入一个内容,在末尾追加
l.append(100)
l.insert(index,value)

pop()从列表中拿走最后一个元素
l1=a.pop()l1就是删除的元素

remove在列表中删除指定值的元素
如果删除的元素不在列表那么就报错,删除list指定值操作应该使用try--eccepty语句,或者先行判断
if x in list:
     list.remove(x)
a.remove(100)

clear()清空
l.clear()

reverse()原地反转
l.reverse()

extend()扩展两个列表,把一个直接拼接到后一个上
a=[1,2,3]
b=[4,5,6]
a.extend(b)
print(a)
>>[1,2,3,4,5,6]

count:查找列表中指定值或者元素的个数
a=[1,2,3,4,4,4,5,5,]
a_len=a.count(4)
>>a_len=3

copy:拷贝,浅拷贝
list类型之间直接赋值传递的是地址
b=a.copy()此时两个列表的地址不再指向同一个地址

深拷贝和浅拷贝的区别
a1=[1,2,3,[10,20,30]]
b=a.copy()
id(a[3])和id(b[3])是一致的,这就是浅拷贝,只拷贝了已成
深拷贝需要使用特定工具

-------------------------------
-元组-tuple
元组可以看成一个不可以更改的list
创建空元组
t=()
创建只含有一个元素的元组
t=(1,)

创建多个值的元组
t=(1,2,3,4,5)
t=1,2,3,4,5

使用其他结构构建
l=[1,2,3,4,5]
t=tuple(l)

-元组的特性
是序列表
元组数据的值可以访问,不能修改
元组数据是可以的任意类型
总之list所有的特性除了可以修改外,元组都具有

索引操作
t=(1,2,3,4)
print(t[3])

切片的操作
t=(1,2,3,4,5,6)
t1=t[1::2]
print(t1)
>>(2,4,6)

序列相加
t1=(1,2,3)
t2=(4,5,6)
t1=t1+t2
print(t1)
>>(1,2,3,4,5,6)---t1的id已经改变

元组相乘
t=t1*3
>>(1,2,3,1,2,3,1,2,3)

成员检测
t=(1,2,3)
if 2 in t:
     print('yes')
else:
print('none')

元组遍历,一般采用for
单层元组遍历
for i in t:
     print(i,end='')
双层元组的遍历
t=((1,2,3),(2,3,4),('I','love','harbin'))
for i in t:
     print(i)

for k,m,n in t:
     print(k,'---',m,'---',n)
>>1 --- 2 --- 3
2 --- 3 --- 4
I --- love --- harbin

----------------------------------------------------------------------------
今天的python的学习笔记先记到这里,固然有很多不足,还希望大家多多指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值