设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1029|回复: 3
收起左侧

Python中的列表:可变性,实用程序和可访问性

[复制链接]
发表于 2020-8-12 18:02:13 | 显示全部楼层 |阅读模式
  列表是python中的一个序列。list的字典含义是“连续写或打印的许多连接项目或名称”。它的字典含义和在编写程序时在Python中的用法没有太大区别。我们经常使用列表,无论是在日常生活中,还是在程序中。每当我们要根据某些条件对某些项目进行分组时,我们都会列出清单。Python列表提供了相同的功能,您可以灵活地对每个元素进行随机访问,修改每个元素,从中添加或删除元素来对项目进行分组。因此,让我们从创建列表开始。
  list1 = [1,2,3,4,5]>>> list1
  [1, 2, 3, 4, 5]>>> type(list1)
  type()是python中的一个函数,它返回变量的对象类型。
  在python中创建列表非常简单。您可以通过2种方式来实现。第一个是将元素括在方括号中,如上例所示。其他正在使用list()函数。
  >>> list1 = list([1,2,3,4,5])>>> list1
  [1, 2, 3, 4, 5]>>> type(list1)
  关于列表的一件有趣的事情是,它们将对对象或元素的引用存储在其中。因此,在将列表重新分配给另一个变量时,python只会更改引用,而不会创建新的列表对象。
  # id() function returns the object id.>>> id(list1)4426491160>>> list2 = list1>>> id(list2)4426491160
  我们可以看到两个变量代表相同的对象。这确实加快了程序的执行速度。列表是全局变量,这意味着当您声明列表并将其作为参数传递给函数时,而不是将其复制并传递给函数时,python会将对列表的引用传递给它。
  访问元素
  Python为从0开始的每个列表元素分配一个索引。因此,如果要访问列表中的特定元素,可以通过其索引访问它。但是为此,您应该知道元素的索引。即使您不知道,也不必担心有一种解决方案。但是,现在让我们尝试按其索引访问元素。
  >>> list1
  [1, 2, 3, 4, 5]>>> print(list1[0])1>>> print(list1[2])3>>> print(list1[1])2
  如果传递的索引与列表不相关或该索引中没有元素,则该列表将引发IndexError。
  >>> list1
  [1, 2, 3, 4, 5]>>> print(list1[9])
  Traceback (most recent call last):www.zpedu.com/
  File "", line 1, in
  IndexError: list index out of range
  >>>
  在某些情况下,您知道要访问的元素,但不知道其索引。在这种情况下,您可以在相应列表中搜索该元素,然后搜索(如果有列表,则使用index函数)将返回该元素的索引。
  >>> list1
  [1, 2, 3, 4, 5]>>> list1.index(2)1 // index of 2
  List的可变行为。
  列表数据类型属于“可变数据结构”类别。可变意味着您甚至可以在定义数据结构后对其进行任何更改。那么,您可以对列表进行哪些更改?您可以更新元素,添加新元素和删除元素。让我们看看。
  更新列表元素
  >>> list1
  [1, 2, 3, 4, 5]>>> list1[0] = 2>>> list1
  [2, 2, 3, 4, 5]
  删除列表元素
  >>> list1
  [2, 2, 3, 4, 5]>>> list1.remove(5) #remove element 5>>> list1
  [2, 2, 3, 4]
  更新和删除元素既简单又直接。现在,当涉及到将元素添加到列表时,有很多方法可以做到这一点。所有这一切都取决于您要在何处添加元素。其中之一是使用insert()函数。
  插入元素
  list.insert(index,value)带有2个参数。第一个是要添加元素的位置,第二个是元素或值本身
  >>> list1
  [2, 2, 3, 4]>>> list1.insert(4,89)>>> list1
  [2, 2, 3, 4, 89] #inserting 89 at 4th index.
  如果您提供的索引比列表大小大得多怎么办?好吧,在这种情况下,列表会将元素添加到其最后一个索引。
  >>> list1
  [2, 2, 3, 4, 89]>>> list1.insert(100000,100)>>> list1
  [2, 2, 3, 4, 89, 100]
  除了插入之外,还可以使用append()将元素添加到列表的末尾。
  >>> list1 = [2, 2, 3, 4, 89, 100]>>> list1.append(67)>>> list1
  [2, 2, 3, 4, 89, 100, 67]
  我们已经看到了带有列表的基本CRUD操作。该列表具有许多内置功能。我们不会涵盖所有这些内容。
  不可变数据结构列表
  我们可以有一个元组列表吗?元组是不可变的对象,列表是可变的对象。那么,如果我们声明一个元组列表,它将变得可变吗?让我们检查一下。
  >>> list1.insert(6,("element1","element2"))>>> list1
  [2, 2, 3, 4, 89, 100, ('element1', 'element2')]>>> type(list1)
  >>> type(list1[6])
  >>> list1[6][0]=3
  Traceback (most recent call last):
  File "", line 1, in
  TypeError: 'tuple' object does not support item assignment
  因此,即使将不可变的对象存储在列表中,python也不会更改对象的属性。
  列表可以具有任何数据类型作为其成员,无论它是字典,元组,字符串还是其他列表。这是程序员如此频繁使用列表的原因之一。
  有更多关于列表的知识。一旦开始使用列表,您将学到这一点。但是,基本知识对于学习高级用法总是必不可少的。我已经在这里介绍了基本原理。如果您了解这些CRUD操作,则可以学习列表的高级用法。

发表于 2021-1-20 13:46:36 | 显示全部楼层
很好的资料,感谢分享。
沙发 2021-1-20 13:46:36 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2021-5-27 10:58:33 | 显示全部楼层

很好的资料,感谢分享
板凳 2021-5-27 10:58:33 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2021-5-27 10:59:07 | 显示全部楼层
我学的c语言 想转这个 不知道难不难
地板 2021-5-27 10:59:07 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-19 16:15 , Processed in 0.059035 second(s), 7 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表