首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

上手Python之列表

数据容器 为什么学习数据容器 思考一个问题:如果我想要在程序中,记录5名学生的信息,如姓名。 如何做呢?...下标索引的注意事项: 要注意下标索引的取值范围,超出范围无法取出元素,并且会报错  列表的常用操作(方法)和特点  列表除了可以: 定义 使用下标索引获取值 以外, 列表也提供了一系列功能: 插入元素...,追加到列表的尾部   追加元素方式2 语法:列表.extend(其它数据容器),将其它数据容器的内容取出,依次追加到列表尾部 删除元素 语法1: del 列表[下标]   语法2:列表...9 列表.index(元素) 查找指定元素在列表的下标 找不到报错ValueError 10 len(列表) 统计容器内有多少元素 列表的遍历 - while循环 既然数据容器可以存储多个元素,那么,...将容器内的元素依次取出进行处理的行为,称之为:遍历、迭代。 如何遍历列表的元素呢? 可以使用前面学过的while循环 如何在循环中取出列表的元素呢?

4.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    3 . python Collectio

    如果未指定iterable(迭代),则新的deque为空。     Deques是堆栈和队列的概括(名称发音为“deck”,是“双端队列”的缩写)。      ...尽管列表对象支持类似的操作,但是它们针对快速固定长度操作进行了优化,并且会导致pop(0)和insert(0, v)操作的O(n)内存移动成本,这些操作改变底层数据表示的大小和位置。     ...一旦有限长度的deque已满,当添加新项目时,相应数量的项目将从相反的一端被丢弃。 有界长度deques提供类似于Unix中尾部过滤器的功能。 它们也可用于跟踪仅涉及最近活动的事物和其他数据池。...extendleft(iterable)        通过追加iterable中的元素来扩展双端队列的左侧。请注意,一系列左边追加结果会颠倒迭代参数中元素的顺序。...通过该方法的细微变化,很容易实现Forth样式的堆栈操作,如dup,drop,swap,over,pick,rot和roll。

    81910

    Python 列表全方位解析:创建、操作、删除与遍历的全面指南

    在使用 index() 时,确保列表中有该元素,否则需要处理 ValueError 异常。...在 Python 列表中,你可以使用 append() 和 extend() 方法来向列表追加元素,它们的作用略有不同: 3.1 append() 方法 append() 方法在列表的末尾追加一个元素。...3.2 extend() 方法 extend() 方法用于将一个可迭代对象(如列表、元组或字符串)的所有元素逐个添加到原列表中,而不是作为整体添加。...它可以用于统计基本数据类型和复杂数据类型(如列表、元组等)在列表中的出现次数。 七、 获取列表长度(len) 在 Python 中,获取列表长度可以使用内置函数 len()。...(同时获取索引和值) enumerate() 函数在遍历列表时可以同时获取元素的索引和值。

    58510

    python学习3-内置数据结构1-列表

    ]    #使用中括号定义初始值列表 lst = list(range(1,20))    #使用list把可迭代对象转换为列表     通常在定义列表的时候,使用中括号,在转化可迭代对象为列表是使用...会ValueError,可以为负数,但是从左往右查找,凡是stop比start小总是ValueError。...lst.count(value) #返回值在列表里面出现的次数 index和count时间复杂度O(n) 3、改 lst[2] = 5 #直接使用下标操作取出元素并对其赋值,修改元素有且只有这种方法...时间复杂度是O(n) lst.extend(可迭代对象) #把可迭代对象追加到末尾 lst + ['a','b'] #不修改lst本身,返回一个新的list,list的连接操作 5、删 lst.remove...(value) #原地修改,根据值删除元素,从左到右删除第一个,当不存在时,ValueError。

    1.1K20

    Python中list总结

    列表是可变的,是可迭代对象。 列表具体定义 l=[ ] (空列表) l=list(iterable) 列表不能一开始就定义大小。指定大小会报类型错误(TypeError)。...没有查到就抛ValueError , 靠值遍历的方式 通过值value,从指定的范围内查找列表内的元素是否匹配 匹配第一个就立即返回索引,匹配不到,就抛出异常ValueError count(value...返回列表中匹配value的次数 时间复杂度 遍历查找的都是O(n),index和count方法都是O(n) len () 统计列表的长度方法 6:列表元素的修改方法 list[index]=value...时间复杂度是O(n) 注意(使用insert()时): 超越上界,尾部追加。...超越下届,头部追加 extend(iteratable)--->none 将可迭代对象的元素追加进来,返回None 。直接修改列表。

    1.1K10

    Python基础语法(三)

    元素可以是任意对象(数字、字符串、对象、列表等) 列表内元素有顺序,可以使用索引index,索引从0开始 线性的数据结构(点击查看详情) 使用[]表示 列表是可变的 列表不能一开始就定义大小 列表是结合顺序表和链表的一种动态类型...注意:在列表中不能一开始就定义列表大小,但是在其他语言中,往往建议初始化就要定义大小,这和语言的优化策略有关。...# 如果没有接收到参数,构造器建立一个新的空列表 | The argument must be an iterable if specified.# 如果指定参数,它必须是一个可迭代的对象,比如...、插入元素 append(obj) -> None 列表尾部追加元素,返回None 返回None就意味着没有新的列表产生,就地修改 时间复杂度是O(1) list1= ['a', 'b', 'c'...extend(iterable) -> None 将可迭代对象的元素追加进来,返回None 返回None就意味着没有新的列表产生,就地修改 list1=['a', 'b', 'c'] list2=['

    90010

    Python列表最常见的问题【总结】

    1、迭代列表时如何访问列表下标索引 普通版: items = [8, 23, 45] for index in range(len(items)): print(index, "-->", items...print(index, "-->", item) >>> 1 --> 8 2 --> 23 3 --> 45 2、append 与 extend 方法有什么区别 append表示把某个数据当做新元素追加到列表的最后面...,表示把该对象里面的所有元素逐个地追加到列表的后面 x = [1, 2, 3] y = [4, 5] x.extend(y) print(x) >>> [1, 2, 3, 4, 5] # 等价于:...a[1] [3, 2, 1] # 当超出列表的下表索引时,抛出IndexError的异常 >>> del a[7] Traceback (most recent call last): File...out of range pop 与del 类似,但是 pop 方法可以返回移除的元素 >>> a = [4, 3, 5] >>> a.pop(1) 3 >>> a [4, 5] # 同样,当超出列表的下表索引时

    72620

    Python第一周 学习笔记(3)

    支持十进制和科学计数法表示。只有双精度型。...的子类,仅有2个实例True、False对应1和0,可以和整数直接运算 bool(x) 返回布尔值,bool值判断逻辑一如前文所述,如: bool('') --> False bool(0) --> False...只能从左向右遍历 匹配不到返回ValueError异常 时间复杂度O(n),因需遍历列表 count(value) 返回列表中匹配value的次数 时间复杂度O(n),因需遍历列表 len() 时间复杂度...O(1) 计数器在每次向list中插入、删除时执行计数 因此调用len()时只打出计数器数值,不执行遍历操作 列表增加、插入元素 append(object) -> None 在尾部追加,返回None...超越下界,头部追加 extend(iteratable) -> None 将可迭代对象的元素追加进来,返回None 修改原有对象,不生成新对象 + -> list 连接操作,将两个列表连接起来 产生新的对象

    74710

    python3学习之列表

    列表: ---- L.append(object)   追加 备注:append将obj作为一个整体追加,无论obj是字符串、数字、字典、列表等,当是字典时全部插入,跟L.extend(iterable...[26]: 140016297719112 ---- L.extend(iterable)  扩展(注意跟追加的区别) 备注:iterable 可以是列表、元组、字典。...它将iterable中的元素追加到L中,当是字典时只追加item,没有追加value In [43]: test=[1,2,3] In [45]: test.extend([4,5,6]) In [46...;reverse=True时是倒序,key参数一般不用,L中不可以包含嵌套列表、字典等 ---- L.count(value)  计数 备注:返回值等于value出现的次数 L.index(value...: 4 is not in list ---- L.reverse()  倒序 备注:不是value排序,只是index倒个顺序,对列表的数据结构没要求,注意和sort的区别 ---- 打印1:简单列表

    33120

    Python程序员经常犯的10个错误,这些坑你踩过吗?

    为什么每次foo()调用时都要把默认值"baz"追加到现有列表中而不是创建一个新的列表呢? 答案默认参数在定义时求值(比如说当你首次导入模块时)。...因此,bar参数在初始化时为其默认值(即一个空列表),即foo()首次定义的时候,但当调用foo()时(即,不指定bar参数时)将继续使用bar原本已经初始化的参数。...尤其是当开发者使用列表 list 时,这个问题就更加常见....5:在迭代时修改列表 (List) --------------------- 下面代码中的问题应该是相当明显的: \>>> odd = lambda x : bool(x % 2) \>>> numbers...幸运的是,Python包含大量简洁优雅的编程范例,若使用得当,能大大简化和精炼代码。这样的好处是能得到更简化和更精简的代码,能更好的避免程序中出现当迭代时修改一个列表这样的bug。

    54700

    2022年最新Python大数据之Python基础【五】

    num_list) # False print(9 not in num_list) # True 2、列表的增加 append: 在类表的末尾追加数据 extend:将数据序列进行迭代依次提取出每一个元素添加到列表末尾...num_list.append(5) # append 追加的数据,默认追加到列表末尾,追加完成后在原有数据上修改 print(num_list) # [1, 2, 3, 4, 5] # # str...6] # 追加数据序列后,调用extend的列表发生变化, 括号内的数据序列不变 # 其实底层逻辑就是讲括号内的数据序列迭代,依次放入调用该方法的列表中 list1.extend(list2) print...(list1) # [1, 2, 3, 4, 5, 6] print(list2) # [4, 5, 6] # 追加字符串序列时,会将字母依次拆分并放入列表中 str1 = 'itcast' list2...# list1.remove(123) # ValueError: list.remove(x): x not in list # clear 清空列表 # 就是讲列表置为[],但是与list1

    3.4K20

    Python高级语法

    字典的items返回由键值组成的元组列表(键在前,值在后),无法直接用sorted排序。我们可以用key指定使用列表里面每一个元组的第二个元素排序,这里使用lambda表达式。 ?...在Python里面,可迭代对象(iterable)和迭代器(iterator)有着特殊的含义。...当你使用一个for循环或者map,或着一个列表推导,那么会先通过iter()获取相应的迭代器, 然后每次循环自动通过next方法调用这个迭代器(iterator),从中获取每一个元素,从而完成迭代过程。...迭代大数据字典时,如果是使用 items() 方法,那么在迭代之前,迭代器迭代前需要把数据完整地加载到内存,这种方式不仅处理非常慢而且浪费内存,下面代码约占1.6G内存 d = {i: i * 2 for...这是因为递归求解的时候计算了很多重复子序列。我们可以把求解斐波那契看成是一个二叉树,如下图所示: ?

    1.2K10

    Python语法必备篇——Python中的 列表 【顶级入门教程 全面讲解】

    当插入列表或者元祖时,insert()也会将它们视为一个整体,作为一个元素插入到列表中,这一点和 append() 是一样的。...,如果是希望在列表的末尾追加元素,使用 append() 和 extend() 的效果更佳。 ️‍...需要注意的是,remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。...重复 3 in [1, 2, 3] True 元素是否存在于列表中 for x in [1, 2, 3]: print(x, end=" ") 1 2 3 迭代 Python列表函数&方法 Python...列表在Python中很常用,是一个很重要的数据类型。 本文中介绍了列表的创建、访问、删除和列表元素的增删改查。 还包括一下常用的列表脚本操作符,列表的常用函数和方法。

    1.4K30

    Python 基础一 (列表)

    Python包含6中内建的序列,即列表、元组、字符串、Unicode字符串、buffer对象和 xrange 对象。最常见的是列表和元组。...列表中的数据类型不限 列表中的多个元素之间用逗号进行分割 最外层用[ ]括起来 ---- 列表的定义 list() 使用list()将其他可迭代的数据类型转换为列表 >>> s = 'python'...只了解它的工作原理: 不可变对象(如字符串、数字和元组等)是按值调用的。请注意下面的例子,当在函数内部修改时,name的值在函数外部不会发生变化。...三个增加方法 方法 代码 功能 增 list.append(要增加的元素) 在列表的末尾增加一个元素 增 list.extend(要添加的列表) 把列表中的每一个元素追加到另一个列表当中 增 list.insert...key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

    72410

    1.列表的定义及增删改查

    鉴于列表通常包含多个元素,所以给列表指定一个表示复数的名称(如:names)是一个不错的主意。 在python中,用方括号[]来表示列表,并用逗号来分隔其中的元素。...例如:你创建一个游戏,要求玩家射杀小怪兽;为此,可在开始时将一些小怪兽存储在列表中,然后每当有小怪兽被消灭时,都将其从列表中删除,而每次有新的小怪兽出现在屏幕上时,都将其添加到列表中。...(1)示例 ① 例1 fruits = ['葡萄','草莓','大鸭梨','菠萝'] print(fruits[2]) '大鸭梨' 当我们请求获取列表元素时,Python只返回该元素,而不包括方括号和引号...四、修改列表元素 1.修改 修改列表元素的语法和访问列表元素的语法相似。 通过指定列表名和要修改元素的索引值(index)从列表中获取单个元素,再映射1个新值。...② 追加多个元素(可迭代对象) 若是我们直接添加多个元素,Python会向我们报错TypeError: append() takes exactly one argument (2 given),也就是说

    1.1K20

    Python:What the f*ck Python(下)

    (target_list "=")+ 中的 + 意味着可以有一个或多个目标列表。在这个例子中,目标列表是 a, b 和 a[b]。表达式列表只能有一个,是 {}, 5。...迭代列表时删除元素 在 29 中,我附加了一个迭代列表时添加元素的例子,现在来看看迭代列表时删除元素。...列表迭代是按索引进行的,所以当我们从list_2或list_4中删除 1 时,列表的内容就变成了[2, 3, 4]。剩余元素会依次位移,也就是说,2的索引会变为 0,3会变为 1。...表达式 a += [5, 6, 7, 8] 实际上是使用的是 "extend" 函数,就地修改列表,所以 a 和 b 仍然指向已被修改的同一列表。 33....(就是 += 执行的是追加操作,少了一个销毁新建的动作。)

    1.7K50
    领券