时间:2022-04-26 点击: 次 来源:网络 作者:佚名 - 小 + 大
零基础学python完整扫描版语言作业cap零基础学python哪本教材好
下载地址 https://share.weiyun.com/S11bpehi
资料目录 小甲鱼零基础学python视频全套96集 刘金玉零基础python入门到精通教程100集全套VIP精选 跟老齐学Python从入门到精通 电子工业出版社 说明:虽然这里的lst内容和上面的一样,但是,重新在shell中输入id会变化。也就是内存分配的“窝”的编号变了。 >>> lst = ['python','qiwsir'] >>> id(lst) 3069501388L >>> lst.append(new) >>> lst ['python', 'qiwsir', [1, 2, 3]] >>> id(lst) 3069501388L 显然,append()也是原地修改列表。 如果对于extend()提供的不是iterable类型对象,会如何呢? >>> lst.extend("itdiffer") >>> lst ['python', 'qiwsir', 'i', 't', 'd', 'i', 'f', 'f', 'e', 'r'] 它把一个字符串"itdiffer"转化为['i','t','d','i','f','f','e','r'],然后将这个列表作为参数,提供给extend,并将列表中的元素塞入原来的列表中。 >>> num_lst = [1,2,3] >>> num_lst.extend(8) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not iterable 这就报错了。错误提示告诉我们,那个数字8是int类型的对象,不是iterable的。 这里讲述两个让列表扩容的函数append()和extend(),总结其共同点: 都是原地修改列表。 既然是原地修改,就不返回值。 原地修改没有返回值,就不能赋值给某个变量。 >>> one = ["good", "good", "study"] >>> another = one.extend(["day","day","up"]) #没有返回值 >>> another #这样的,什么也没有得到。 >>> one ['good', 'good', 'study', 'day', 'day', 'up'] 那么两者有什么不一样呢?再看下面的例子之前,读者能不能通过前面的操作总结一下?请敲代码尝试,然后看下面的例子: >>> lst = [1,2,3] >>> lst.append(["qiwsir","github"]) >>> lst [1, 2, 3, ['qiwsir', 'github']] #append的结果 >>> len(lst) 4 >>> lst2 = [1,2,3] >>> lst2.extend(["qiwsir","github"]) >>> lst2 [1, 2, 3, 'qiwsir', 'github'] #extend的结果 >>> len(lst2) 5 append是整建制地追加,extend是个体化扩编。 |
上一篇:零基础学python做数据分析看什么书籍推荐零基础学python第二版pdf
下一篇:没有了