python 列表

接下来一两篇文章主要用来说明列表是什么以及如何使用列表。

那么在python语言中,列表是什么呢?

列表就是一系列按特定顺序排列而成的元素组成。我们可以将任何东西都加入列表中,其中列表中的元素可以是没有任何关系的。

这样解释其实不是很明了,大家可以把列表想象成一个大教室,教室里面做着很多同学,这些同学就是我们的列表元素,而这个大教室自然是我们的列表容器了。

好了,还是通过代码来直观的看下python语言中这种神奇的生物吧。

首先,我们说明一下python中定义列表的语法规范,在python中使用方括号([])来表示列表,其中的元素用逗号分割开来,看如下例子:

#group members
group_members = ["张三","李四","王五","赵六"];

大家不要取笑我起名字的俗,这不是重点。

到现在为止,我也只是学习了print一个函数来打印我们想要的输出,这里也不例外,我们打印一下group_members 看下会有什么样的输出。

print(group_members);

输出:

['张三', '李四', '王五', '赵六']

哎呀,怎么都给打印出来了,我只想要王五这个名字那有该怎么办了?

访问和使用列表元素

既然列表是一个有序的集合,那么我们要取其中的某一个值只需要知道该值的位置或者说是索引即可。

在python中序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

这一点和其他编程语言一样。

总结一点:列表的起始索引是从0开始的,索引大家的记得在查找的时候,要将其所在的位置减去1作为查询索引。

示例:

#打印第一个成员名称
print("the first member is :" + group_members[0]);

#打印第三个成员名称
print("the third member is :" + group_members[2]);

输出:

the first member is :张三
the third member is :王五

上面的例子也演示了该如何使用和查找列表元素,访问列表元素的语法是:

列表名称[元素索引]

最后我们在提一个有意思的东西,在我们不知道列表长度的情况下,想要获取列表的最后一个元素,那么该怎么取呢?

想到了没有?没有的话那我就直接说了,通过指定索引为-1,可以让python返回列表的最后一个元素。


#最后一个成员名称
print("the last member is :"+ group_members[-1]);

输出:

the last member is :赵六

当然了,负数索引可以依次类推的,那么倒数第二个就是-2,倒数第三个就是-3….

修改列表元素

如何一个列表是固定不变的,那么其实对我们来说是没有多大价值的,我们之所以使用这种数据结构,就是为了我们可以方便的查找和添加删除其中的元素来达到我们有效组织数据的目的。

幸运的是,所有的语言估计都会支持这些东西,我们不必为了怎么去增加一个元素而苦苦烦恼。

在上面的例子我们也说了,要想查找元素,那么首先我们得知道这个元素在什么地方吧?

只要我们知道了元素所在位置,接下来就好办了。就像一个班级里面,有五十几个学生,突然有一天,一个同学的爸爸觉得自己儿子的名字不好听,就改了一个名字,把张三改成了张思亿,那么老师会怎么做呢?

我记得读书那会班级里面都有一本花名册,上面记录这每个同学的信息,那么是重新做一本花名册呢,还是只是修改张三同学的信息呢?

当然是选择后者了,这样老师的工作量是最小的吧,不用那么累了。。

首先,我们找到张三同学在花名册的位置,然后将张三改为张思亿就好了。

group members
group_members = ["张三","李四","王五","赵六"];

#修改成员张三同学的名称
group_members[0] = "张思亿";

print(group_members);

输出看下是否和我们想象的一致呢?

['张思亿', '李四', '王五', '赵六']

是的,张三同学从此鸟枪换名字了额。。。

插入列表元素

我们学会了修改列表元素的信息,但是突然有一天,班级里面来了一个新的同学,那么我们该怎么做呢?

我们来考虑一下会发生的情况,比如这个同学很有背景的,进来就要坐在第一排,老师也没办法,只能想着怎么安排了。

第一种情况,把这个同学放在第一批最右边的位置,恩恩这不是我们列表中的最后一个位置吗?

这样的话就好办了。

在python中我们可以使用append()方法向列表的末尾追加一个元素。

#group members
group_members = ["张三","李四","王五","赵六"];

group_members.append("丁七");

print(group_members);

输出:

['张三', '李四', '王五', '赵六', '丁七']

还有一种情况,将丁七安排在第一排但不是最后的位置,这个时候使用上面的办法可定就是行不通了。

这个时候我们的知道要把丁七放在哪个位置,当然了还有丁七这个人了。

在python中insert()方法可以在指定的位置插入元素,但是的注意需要指定元素索引和值。

#group members
group_members = ["张三","李四","王五","赵六"];

group_members.insert(0,"丁七");

group_members.insert(3,"丁七2");

print(group_members);

输出:

['丁七', '张三', '李四', '丁七2', '王五', '赵六']

这种方式添加的元素会导致后面的元素依次往后挪移一位。

删除列表元素
班级里面的同学来来往往,今天有人来说不定后天就有人要走了。那么在python中怎么删除一个列表元素呢?

我们来想一下,如果我们要删除一个元素我们需要哪些信息呢?

前面我们都是通过元素索引来完成的,在删除的时候当然也是可行的。那么还有什么方法吗?

哦,对了,我还可以使用元素的值来删除这个元素,就像一个同学离开班级后,我们可以通过这个同学的名字就可以删除他原来的信息一样。

看看python的代码实现吧:

#group members
group_members = ["张三","李四","王五","赵六"];

group_members.insert(0,"丁七");

group_members.insert(3,"丁七2");

print(group_members);

del group_members[0];

group_members.remove("丁七2")

group_members.__delitem__(2);

print(group_members);

输出:

['丁七', '张三', '李四', '丁七2', '王五', '赵六']
['张三', '李四', '赵六']

这里我们使用了三种方式进行删除操作,第一种就是使用del语句进行删除,当然了使用del语句必须的知道索引的。

第二种我们使用remove方法,该方法是通过值来进行删除的,我们可以不必关心元素索引。(该方法只会删除第一个匹配的元素,如果需要全部删除,请使用循环处理)

第三种方式是使用delitem()方法,这个也是通过指定索引,删除列表元素。

最后我们在说一下pop()方法的使用。

pop方法可以删除列表末尾的元素,他返回的是该元素。

#group members
group_members = ["张三","李四","王五","赵六"];

last_member = group_members.pop();

print(group_members);

print(last_member);

输出:

['张三', '李四', '王五']
赵六

当然了额,如果只能删除末尾元素,那么我们还是有点小瞧它了。pop同样可以删除任意位置的元素,前提是我们的指定索引。

#group members
group_members = ["张三","李四","王五","赵六"];

sencond_member = group_members.pop(2);

print(group_members);

print(sencond_member);

输出:

['张三', '李四', '赵六']
王五
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值