Pythyon中的序列

在Python中有一种数据类型叫做序列,它和链表比较相近,只是它的元素的值是固定的。序列中的元素以逗号分开。

    A='a','b'
通常情况下,序列使用小括号括起来:

   A = ('a','b')
如果要创建一个元素的序列,那需要在元素后面添加一个逗号:

   t = ('a',)
如果我们试图改变序列的值,解释器会返回错误信息

  A[0] = 'A'
  TypeError:object doesn't support item assignment
序列赋值:

传统的方法:

void swap(int& a,int& b)
{
        int temp = a;
        a = b;
        b = temp;
}
Python中使用序列的方法:

a = 1
b = 2
c = 3
a,b,c = c,b,a

元素的赋值顺序:

x = 2
y = 3
x,y = x+y,x*y

序列作为返回值:

def swap(a,b):
        return b,a
然后我们可以把这个函数赋值给序列
a,b = swap(b,a)
但是采用以下的方法会发生错误:
def swap(x,y):#错误函数
        x,y = y,x

我们原始的含义是交换a和b的值,实际上的情况是他们的值没有改变,这是因为a和x是同一个值的别名,在函数swap中改变x的值后,x和a就彻底没有关系了。所以x的改变不能影响变量a。

这种错误叫做语义错误。程序可以执行,没有错误提示,但是得到的结果与我们的预期不同,在此我们研究一下别名的问题。在python中,如果变量具有形同的值,就可以认为这些变量时同一个值的别名,也就是这些变量指向同一个值。这样做的好处也许就是节省了内存空间。但是如果某一个变量改变了他自己的值,那么解释器就开辟出新内存空间存储这个变量的值。这个变量的值就指向新的内存了。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值