常见错误 IndexError: List Index Out of Range 这是最常见的错误之一,通常发生在尝试访问列表中不存在的索引时。...TypeError: List Indices Must Be Integers or Slices, Not str 这种错误发生在使用字符串作为列表索引时。...调试技巧: 确保列表索引用的是整数或切片。...ValueError: List.remove(x): x Not in List 这种错误发生在尝试删除列表中不存在的元素时。...TypeError: Can Only Concatenate List (Not “int”) to List 这种错误发生在尝试将整数与列表连接时。
报错及分析 报错代码 TypeError: tuple indices must be integers or slices, not str 这个错误的意思是元组索引必须是整数或切片,不能是字符串。...在本报错中,错误出现在以下代码行: 'id': request.json['id'], 这里的 request.json 是一个元组而不是字典,因此使用字符串 'id' 作为索引引发了 TypeError...索引是用整数值来表示元组中的位置,以便获取特定位置上的元素值。...然而,如果你尝试使用字符串作为索引来访问元组,就会引发 TypeError。...这是因为索引必须是整数类型或切片(例如 t[0] 或 t[1:3]),而不能是字符串类型。
列表数据类型 列表是一个包含有序序列中多个值的值。术语列表值指的是列表本身(它是一个可以存储在变量中或像任何其他值一样传递给函数的值),而不是列表值内部的值。...用切片从另一个列表中获取一个列表 就像索引可以从列表中获取单个值一样,切片可以以新列表的形式从列表中获取多个值。像索引一样,切片在方括号之间键入,但它有两个由冒号分隔的整数。...请注意索引和切片之间的区别。 spam[2]是带索引的列表(一个整数)。 spam[1:4]是一个带切片的列表(两个整数)。 在切片中,第一个整数是切片开始的索引。第二个整数是切片结束的索引。...尝试重新分配字符串中的单个字符会导致一个TypeError错误,您可以通过在交互式 Shell 中输入以下内容看到这一点: >>> name = 'Zophie a cat' >>> name[7] =...(与其他一些编程语言不同,在 Python 中,在列表或元组的最后一项后面有一个尾随逗号是没有问题的。)
TypeError:当操作或函数应用于错误类型的对象(例如将字符串添加到整数)时,将引发此异常。NameError:当在当前作用域中找不到变量或函数名称时,将引发此异常。...ValueError:当使用无效的参数或输入调用函数或方法时,例如,当字符串不表示有效整数时,尝试将字符串转换为整数,则会引发此异常。...IOError:当 I/O 操作(如读取或写入文件)由于输入/输出错误而失败时,会引发此异常。ZeroDivisionError:尝试将数字除以零时,会引发此异常。...x = 5y = "hello"z = x + y输出:尝试 catch 块来解决它:代码尝试将整数 (x) 和字符串 (y) 相加,这不是有效的操作,它将引发 x y TypeError 。...最终块始终在 try 块正常终止后执行,或者在 try 块因某些异常而终止后执行。
元组中的元素可以是哪些类型?(多选) A. 整数 B. 浮点数 C. 字符串 D. 另一个元组 E. 列表 14. 下列哪个操作是尝试修改元组中元素的行为,且是非法的?...元组没有内置的排序方法,但你可以使用 sorted() 函数和元组切片来创建一个排序后的新元组。 A. 正确 B. 错误 45. 在Python中,空元组可以用 () 或 tuple() 来表示。...C. () 解析:在Python中,元组是通过圆括号()来定义的,而{}用于定义字典,[]用于定义列表,在Python中不是有效的数据结构定义符号。 3. B....在Python中,字典的键必须是不可变的类型,如字符串、数字或元组,而值可以是任意类型。 21. A. 可以 解析:元组可以包含任意类型的元素,包括另一个元组。 22....选项A (1) 在没有上下文的情况下可能不会被解释为元组,而选项B 1 只是一个整数,选项D ['1'] 是一个包含字符串 '1' 的列表。 23.
① 单行索引 df.loc[1103] 虽然这里的1103是整数, 但loc索引方式用的是索引标签, 而不是默认整数索引(注意默认整数索引和标签索引这二者有时候是一样的) ② 多行索引 多行索引时,需传入一个...list,而不是多个索引 df.loc[[1102,2304]] 多行索引时, 传入的必须是一个list, 而不是两个或多个索引, 否则会报错 #以下索引报错 # TypeError: cannot do...df.iloc[lambda x:np.arange(3)] 小节:由上所述,iloc中接收的参数只能为整数或整数列表,不能使用布尔索引。...索引多列时,传入的必须是一个list,而不是多个列名标签--方括号应该有两层。...: 如果不加values就会索引对齐发生错误,Pandas中的索引对齐是一个重要特征,很多时候非常使用。
注意,在本书中将组成序列的基本单元称为“成员”,如字符串的组成单元是字符,即成员是字符;列表的组成单元是任何类型的 Python 对象,即成员是 Python 对象。...在有的资料中用其他术语,比如“元素”、“单位/单元”、“成分”等。 2. 索引 列表既然是序列,也就跟字符串一样,其中的每个成员都有索引,而且索引的建立方式和字符串中所学习过的也一样。...在交互模式中调试下面的各项操作,并回忆字符串中索引的特点——温故知新。...这种操作在字符串中是不能实现的。...,它们有相同的地方;列表和字符串又是两种类型的对象,它们必然存在不同,这应该是学习中特别关注的: 列表中的成员可以是任何 Python 对象,字符串中的成员是字符; 列表是可变的,而字符串是不可变的。
注释可以从行首开始,也可以在空白或代码之后,但是不出现在字符串中。文本字符串中的 # 字符仅仅表示 # 。代码中的注释不会被 Python 解释,录入示例的时候可以忽略它们。...在交互式解释器中,输出的字符串会用引号引起来,特殊字符会用反斜杠转义。虽然可能和输入看上去不太一样,但是两个字符串是相等的。如果字符串中只有单引号而没有双引号,就用双引号引用,否则用单引号引用。...:切片时的索引是在两个字符 之间 。...在 Python 中,类似于 C,任何非零整数都是 true;0 是 false 条件也可以是字符串或列表,实际上可以是任何序列; 所有长度不为零的是 true,空序列是 false。...[2] 与其它语言不同,特殊字符例如 \n 在单引号(‘…’)和双引号(“…”)中具有相同的含义。两者唯一的区别是在单引号中,你不需要转义 " (但你必须转义 ’ ),反之亦然。
❝一般来说,一个爬虫对象的数据一次展现不完全时,就要多次展示,网站的处理办法有两种: 1、下一个页面的url和上一个页面的url不同,即每个页面的url是不同的,一般是是序号累加,处理方法是将所有的html...「skiprows:」 int 或 list-like 或 slice 或 None, 可选参数解析列整数后要跳过的行数。从0开始。如果给出整数序列或切片,将跳过该序列索引的行。...请注意,单个元素序列的意思是“跳过第n行”,而整数的意思是“跳过n行”。 「attrs:」 dict 或 None, 可选参数这是属性的词典,您可以传递该属性以用于标识HTML中的表。...在传递给lxml或Beautiful Soup之前,不会检查它们的有效性。但是,这些属性必须是有效的HTML表属性才能正常工作。...「converters:」 dict, 默认为 None用于在某些列中转换值的函数的字典。键可以是整数或列标签,值是采用一个输入参数,单元格(而非列)内容并返回转换后内容的函数。
最常见的是,使用字符串选择单个列,从而得到一个序列。 当数据帧是所需的输出时,只需将列名放在一个单元素列表中。 更多 在索引运算符内部传递长列表可能会导致可读性问题。...您可以使用np.number或字符串number在摘要中包含整数和浮点数。 从技术上讲,数据类型是层次结构的一部分,其中数字位于整数和浮点上方。...RELAFFIL列是转换为较小整数类型的好选择,因为数据字典说明其值必须为 0/1。 现在RELAFFIL的内存是CURROPER的八分之一,仍然是以前的类型。 显示的存储单位是字节而不是位。...字典和列表都具有精确的说明,并且对于传递给索引运算符的内容都具有有限的用例。 字典的键(其标签)必须是不可变的对象,例如字符串,整数或元组。 列表必须使用整数或切片对象进行选择。...当求值这些关键字时,Python 尝试查找整个对象的真实性。 因为将整个序列而不是每个元素作为True或False都没有意义,Pandas 都会引发错误。
12.Python3入门之异常、调试和测试 在程序运行过程中,总会遇到各种各样的错误....有的错误是程序编写有问题造成的,比如本应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的....这类错误也称为异常,在程序中通常是必须处理的,否则,程序会因为各种问题终止并退出。 Python内置了一套异常处理机制,来帮助我们进行错误处理....异常就是程序运行时发生错误的信号(在程序出现错误时,会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中错误出发的异常如下: 而错误分成两种: 1.语法错误(...IndexError 序列中没有此索引(index) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释器不是致命的) NameError 未声明/初始化对象
Python的基本数据类型有整数,浮点数,布尔,字符串,它们是最基本的数据。...在实际编程中,我们要经常组织由很多基本数据组成的集合,这些集合的不同组织方式就是:数据结构,今天讲的是数据结构中的Python list(列表)。数据结构就是一些数据组合得到的“复合”数据类型。...与我们生活中不同的是,列表的第一元素的索引是0。...[55]: 3 (2)max() 返回列表元素中的最大值,列表元素必须是同一类型且可比较,比如都是数字型的,或都是字符串,如果类型不统一就会报错: In [57]: max(['a', 'b', 'c...函数: 是一系列语句的集合,调用后可以返回一个或一些值。可以给它传递0个或多个参数,这些参数可能被用于函数内部的执行过程。 方法: 就是定义在类内部的函数。很明显,方法是与某个对象关联的。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。...在Python程序中,变量是用一个变量名表示,变量名必须是 大小写英文、数字和下划线(_)的组合,且不能用数字开头 ,比如: a = 1 变量 a 是一个整数。...可以简单地使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key: >>> print d['Adam']95>...倒序切片包含起始索引,不包含结束索引。 对字符串切片 字符串 ‘xxx’和 Unicode字符串 u’xxx’也可以看成是一种list,每个元素就是一个字符。...迭代与按下标访问数组最大的不同是,后者是一种具体的迭代实现方式,而前者只关心迭代结果,根本不关心迭代内部是如何实现的。 索引迭代 Python中,迭代永远是取出元素本身,而非元素的索引。
: 这种错误比较隐蔽一些,表面看上去好像是某个类型的对象不具有某某某属性,而实际上是函数或方法的误用。...在Python中,如果函数或方法没有返回值,则认为其返回控制None。不过,这种错误又比较明显,因为一般是'NoneType' object has no attribute.........遇到这种错误时,一般是调用了其他函数或方法而不知道该函数或方法返回的是元组或字符串或其他不可变容易对象,应仔细检查出现错误的代码之前的函数或方法调用代码。...: 在Python中,列表、元组、字符串和range对象支持使用整数作为下标去访问指定位置上的元素值;列表支持使用整数作为下标去修改指定位置上的元素值;字典支持使用指定的键去访问或修改对应的值。...: 在使用切片操作修改列表中元素值时,如果切片不连续(也就是abs(step)>1),则等号两侧必须含有同样多的元素数量。
至少,在开始第一个星期不要使用IDE。对于Python这样一种解释型的脚本语言,一款趁手的编辑器就足够。 我们需要的是专注于python本身,而不是被工具使用问题所困扰。...常量 常量是指程序中值不发生改变的元素,一旦初始化后就不能对其修改的固定值,它是内存中用来保存固定值的单元。...当元组定义后就不能进行更改,也不能删除,这不同于列表,由于元组的不可变特性,它的代码更加安全。 以下是元组无效的,因为元组是不允许更新的,而列表是允许更新的。...列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。...它们的映射方式不同,列表通过地址映射到值,字典通过键值对映射到值。 列表只能通过数字下标或索引访问,字典可以用各种对象类型作为键访问。
为什么在IDLE中执行会提示语法错误呢? 答:应该在命令提示符环境执行,不是在Python开发环境中执行。...11.问:在我的代码中x是一个列表,我使用y=x.sort()语句把它排序后的结果赋值给y,然后使用y.index(3)查看3在y中的下标时,为什么会提示“AttributeError: 'NoneType...答:列表的sort()方法是原地排序,没有返回值。在Python中,没有返回值的方法,都认为返回空值None,而空值是没有index()方法的。...答:在Python中,不可哈希(unhashable)和可变的意思是一样的。整数、实数、复数、字符串、元组这些是不可变的,或者说是可哈希的。而列表、字典、集合是可变的,或者说是不可哈希的。...答:使用切片操作修改列表中部分元素时,如果第三个数字step的值不等于1,那么等号左侧的切片长度和等号右侧的列表长度必须一致。
字典是可变的,可以添加、删除或修改键值对。键必须是唯一的,而值则可以是任何数据类型。 注意事项 Python是动态类型语言,意味着你不需要在声明变量时指定其类型。...注意事项 在进行金融或需要高精度的计算时,考虑使用decimal模块而不是浮点数。 注意浮点数比较中的精度问题,并考虑使用相对或绝对容差来比较浮点数。...布尔类型在控制流程语句(如if语句)中起着至关重要的作用,也常用于表示某些操作的成功或失败。 基本用法 在Python中,布尔值True和False是布尔类型的两个实例。...字符串的基本操作 字符串支持多种基本操作,如索引、切片、拼接、重复等。 索引: 通过索引可以访问字符串中的单个字符。索引从0开始。 s = 'Hello, world!'...# 尝试修改字符串(错误示例) # s[0] = 'J' # 这会引发TypeError # 正确的做法:创建一个新的字符串 new_s = 'J' + s[1:] print(
将字符串转为集合 frozenset():将字符串转换为不可变集合 dict(d):创建字典;d必须元素为键值对的元祖的列表 chr():将整数转换为字符 ord():将字符转换为整数值...,包括字符串、列表和元组 字符串字面量:把文本放入单引号(必须在同一行) ,双引号(必须在同一行),三引号(跨行)中; 字符串是字符的 列表和元组是任意Python对象的序列...字符和元组属于不可变序列,而列表则支持插入、删除和替换元素 所有序列都支持迭代 如果要使用unicode编码,则在字符之前使用字符u进行标识,如u“magedu” 文档字符串:模块、类或函数的第一条语句是一个字符串的话...: list(s)可将任意可迭代类型转换为列表,而如果s已经是一个列表,则该函数构造的新列表是s的一个浅复制 ?...与序列不同,集合不提供索引或切片操作 与字典不同,集合不存在相关的键值 放入集合中的项目必须是不可变的 集合有两种类型: 可变集合:set() 不可变集合:frozenset
新函数与 shuffle 和 permutation 的不同之处在于,由轴索引的子数组进行了排列,而不是将轴视为其他索引的每个组合的独立 1-D 数组。...(gh-17068) __array_interface__["data"]元组的第一个元素必须是整数 这已经是多年的文档接口,但仍然有代码会接受指针地址的字节字符串表示。...这个新函数与shuffle和permutation不同之处在于,由轴索引的子数组被排列,而不是将轴视为每个其他索引组合的独立 1-D 数组。例如,现在可以对 2-D 数组的行或列进行排列。...这个新函数与shuffle和permutation不同之处在于,由轴索引的子数组被排列,而不是将轴视为每个其他索引组合的独立 1-D 数组。例如,现在可以对 2-D 数组的行或列进行排列。...在其他情况下,它会产生一个错误,但该错误是关于广播而不是正确的 IndexError 的错误 ValueError。
领取专属 10元无门槛券
手把手带您无忧上云