从零学习Python—基础知识(五)

上节我们讲到了for语句和用range()来创建元素,咱们在这个基础上于讲一点,值得思考的东西。

先来看例子:

——————————————

numbers = [value**2 for value in range(1,11)]

print(numbers) 


结果是:[1,4,9,16,25,36,49,64,81,100,121]

——————————————


发现没,这个其实就是昨天平方数的简写,也叫列表解析,for循环和创建新元素的代码合并成一行,并自动附加新元素,昨天我们用了5行代码,今天只用了2行就搞定了,熟能生巧。


切片

可以看作是对元素的一种抓取。

————————————————

names=["av","bv","cv","dv"]

print(names[0:3]


结果是:["av","bv","cv"]

————————————————


如果你没有指定第一个索引,Python将自动从列表开头开始,形式类似于print(names[:3])。同理,如果后面没有指定,则默认到最后一个为止。


复制列表

其实就是设入变量,跟之前临时变量赋值大致类似,学的多了,就会发现有好多是同理的。咱们还是举例为证:

————————————————

me=["a","b","c"]

friend=me[:]

print(me)

print(friend)


结果是:["a","b","c"]

              ["a","b","c"]

——————————————


也就是多了点切点功能,当然这里也可以加元素,使用append(),我提供一下思路,大家可以自行操作一下。


还是行将ma赋值给friend,再然后使用append()进行添加,当然你也可以试试删除元素,多尝试总是有好处的。


写到这里,有没有人问,为什么你赋值那么麻烦,为何不直接赋值

friend=me

我运算了一下,结果虽然能得到同样的结果,意义却不一样,我们看下面这个例子:

——————————————

me=["a","b","c"]

friend=me

me.append("d")

friend.append("f")

print(me)

print(friend)


结果是:["a","b","c","d","f"]

              ["a","b","c","d","f"]

————————————————


这里并不能如我们所愿,这是因为我们将me赋值给了friend,这两个其实是共用同一个列表,所以后面我们无论是利用哪一个,都会将新加的元素添加到共同的列表中,如果我们用的是friend=me[:],再次运算


这就能得到我们想要的结果了。错了不可怕,要自己思考解决方法才能真正掌握。


元组


元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。 

——————————————————

numbers=(100,200)

print(numbers[0])


结果是:100

——————————————————


PS:元组的值不能被更改,这和列表是很不相同的。虽然不能修改元组的元素,但可以给存储元组的变量赋值

——————————————

numbers=(100,200)

print(numbers[0]

numbers=(300,400)

print(numbers[0]


结果是:100

              300

——————————————


相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。 

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容