Python编程从入门到实践之使用列表|第3天

User:你好我是森林 Date:2018-03-16 Mark:《Python从入门到实践》 原文:https://www.jianshu.com/p/bad9e4635f88

使用列表

切片

要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python 在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3, 这将输出分别为012的元素。

代码示例:

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3]) # 取从索引0开始到第三个结束,最后输出前三个
print(players[0:3]) # 输出从索引1到4结束,
print(players[:4])  # 没有索引就从列表开头开始,到指定的索引值结束
print(players[2:]) # 没有结束索引就知道最后结束
print(players[-3:]) # 倒数第三个

运行结果:

['charles', 'martina', 'michael']
['charles', 'martina', 'michael']
['charles', 'martina', 'michael', 'florence']
['michael', 'florence', 'eli']
['michael', 'florence', 'eli']
遍历切片

前面我们遍历列表的时候采用for语句来实现的,同理,切片同样可以采用for语句来实现。

代码示例:

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print("Here are the first three players on my team:")
for player in players[:3]:
    print(player.title())

运行结果:

Here are the first three players on my team:
Charles
Martina
Michael
复制切片

要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。 这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。复制的过程中可以进行赋值或者修改操作。例如新增一个元素。

代码示例:

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
my_foods.append('cannoli')
friend_foods.append('ice cream')
print("My favorite foods are:")
print(my_foods)
print("\nMy friend's favorite foods are:")
print(friend_foods)

代码结果:

My favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli']

My friend's favorite foods are:
['pizza', 'falafel', 'carrot cake', 'ice cream']

元组

定义元组

列表是可以修改的,主要适合存储程序在运行期间可能会变化的数据。如果需要创建不可修改的值就需要用元组,所以元组可以理解为:不可被修改的列表。但是元组采用的是方括号来标识。和列表同理,均可采用索引来访问元素。

代码示例:

change_list = ('one','two','three','four') #定义一个元组 
print(change_list[0]) #取元组索引为0 的值
change_list[1] = 'hello' #修改元组中索引为1的值 会被报错,因为元组不可以被修改。
遍历元组

遍历元组和遍历列表一样,采用for 来实现。

代码如下:

change_list = (1,2,3,4)
for number in change_list:
    print(number)

运行结果:

1
2
3
4
修改元组变量

修改元组的变量不等于修改元组的元素,也就是给存储元组的变量赋值。

代码示例:

change_list = (1,2,3,4)
for number in change_list:
    print(number)
    
change_list = (11,22,33,444)
for number in change_list:
    print(number)

运行结果:

1
2
3
4
11
22
33
444

欢迎你免费加入我的星球,一起分享,共同成长。

知识星球

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Danny的专栏

正则表达式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

22920
来自专栏我和我大前端的故事

初探 TypeScript函数基本类型泛型接口类内置对象

前段时间有朋友和我推荐 TypeScript ,他说写起来特别爽,让我去试一试,那时候我还在那是啥高深莫测的东西。刚好那段时间忙,一直没有时间看。最近也很忙,还...

65820
来自专栏日常学python

史上最全关于sorted函数的10条总结(文末附送书中奖名单)

sorted 用于对集合进行排序(这里说的集合是对可迭代对象的一个统称,他们可以是列表、字典、set、甚至是字符串),它的功能非常强大,本文将深入浅出地介绍 s...

9640
来自专栏C/C++基础

C++接口继承与实现继承的区别和选择

《Effective C++》条款三十四:区分接口继承和实现继承中介绍的比较啰嗦,概括地说需要理解三点: (1)纯虚函数只提供接口继承,但可以被实现; ...

8010
来自专栏MasiMaro 的技术博文

C/C++中整数与浮点数在内存中的表示方式

在C/C++中数字类型主要有整数与浮点数两种类型,在32位机器中整型占4字节,浮点数分为float,double两种类型,其中float占4字节,而double...

13530
来自专栏林德熙的博客

正则表达式30分钟入门教程

30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。

5600
来自专栏撸码那些事

C#集合类型大揭秘

集合是.NET FCL(Framework Class Library)的重要组成部分,我们平常撸C#代码时免不了和集合打交道,FCL提供了丰富易用的集合类型,...

23570
来自专栏一“技”之长

Swift讲解专题十——类与结构体 原

        Swift中的类与结构体十分相似,和Objective-C不同的是,Swift中的结构体不仅可以定义属性,也可以像类一样为其定义方法。

9520
来自专栏闪电gogogo的专栏

Python入门学习(一)

看完了莫烦Python的视频,对于Python有了一点感觉,接下来打算把小甲鱼的视频啃完,附上学习网址:http://blog.fishc.com/catego...

44080
来自专栏C/C++基础

C/C++编码规范

对于变成人员,良好的编程风格是提高程序可靠性和效率非常重要的手段。而编码规范就是对编程风格最好的约束保障。 严格遵守编码规范方便代码的交流和维护,利于提高代...

14020

扫码关注云+社区

领取腾讯云代金券