4.问:为什么使用pip命令安装扩展库是提示“不是内部或外部命令,也不是可运行的程序或批处理文件”?...答:列表的sort()方法是原地排序,没有返回值。在Python中,没有返回值的方法,都认为返回空值None,而空值是没有index()方法的。...12.问:我创建了一个集合,想在里面加入一个列表作为元素,结果提示“TypeError: unhashable type: 'list'”,这是什么意思呢?...答:在Python中,不可哈希(unhashable)和可变的意思是一样的。整数、实数、复数、字符串、元组这些是不可变的,或者说是可哈希的。而列表、字典、集合是可变的,或者说是不可哈希的。...32.问:两个列表是怎么比较大小的呢? 答:列表比较大小时,是从前往后依次比较其中的每个元素,直到得到明确的结论为止。
要记得返回len值而不是返回这个列表。...,该错误发生在如下代码中: 而你实际想要这样做: 6)尝试连接非字符串值与字符串(导致 “TypeError: Can’t convert ‘int’ object to str implicitly”...该错误发生在如下代码中: 15)尝试使用 range()创建整数列表(导致“TypeError: ‘range’ object does not support item assignment”) 有时你想要得到一个有序的整数列表...,所以 range() 看上去是生成此列表的不错方式。...然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
使用 = 而不是 == 提示:“SyntaxError: invalid syntax” = 是赋值操作符而 == 是等于比较操作。...要记得返回len 值而不是返回这个列表。...该错误发生在如下代码中: 15.尝试使用 range()创建整数列表 提示:“TypeError: 'range' object does not support item assignment” 有时你想要得到一个有序的整数列表...,所以 range() 看上去是生成此列表的不错方式。...然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
如果读者查看 set() 的帮助文档,会发现其参数必须是可迭代对象(这很重要)。至此,我们已经学过的 Python 内置对象中,符合此要求的有:字符串、列表、元组、字典。...与字典一样,集合没有索引,或者说它不属于序列,即其中的成员本“无序”,即不需要用序列中的索引为每个成员建立映射关系,故不支持诸如列表中的索引、切片和其他序列特有的操作。...再总结一下,到现在所学的 Python 内置对象类型中,属于“不可变对象”的有:浮点数、整数、复数、字符串、元组;属于“可变对象”的有:列表、字典。...: unhashable type: 'list' 注意区分注释(4)和(1),在注释(4)中,试图得到一个成员分别是 [1 ,2]、3、4 的集合,而不是 {1, 2, 3, 4} 。...: unhashable type: 'dict' 假设,集合中的成员是列表,当对这个列表内的成员进行增、删、改操作时,该列表本身没有变(内存地址不变),但其中的成员变化了。
for循环 目录: for简介代码格式语法格式可被迭代的数据类型列表字典字符串不可被迭代的数据类型整数浮点值布尔值空值整数转化为范围后可被迭代range(y)range(x, y)range(x, y...而i是interval的缩写。表示间隔。既从x开始循环后,下一次的循环与上一次循环间隔多少。...迭代列表时获取索引 我们通过上边迭代列表和字典的代码中可以看出来,for后边的变量在迭代列表的时候是列表内的元素、迭代字典的时候则是字典里边的键名。...那么如果我想迭代字典时,有个变量存放列表中各项所对应的偏移量(索引)呢? 通过range函数的搭配,我们不仅可以迭代整数,还能迭代列表的索引。 于是我就试了下边的写法,但是他报错了。...而列表转化不成整数,出点类型错误。
2、 使用= 而不是 == 也会导致“SyntaxError: invalid syntax”= 是赋值操作符而 == 是等于比较操作。...要记得返回len 值而不是返回这个列表。...(spam) 6、 尝试连接非字符串值与字符串导致 “TypeError: Can't convert 'int' object to str implicitly”该错误发生在如下代码中: numEggs...“TypeError: 'range' object does not support item assignment”有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式...然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
2、 使用= 而不是 == 也会导致“SyntaxError: invalid syntax” = 是赋值操作符而 == 是等于比较操作。...要记得返回len 值而不是返回这个列表。...] print(spam) 6、 尝试连接非字符串值与字符串 导致 “TypeError: Can't convert 'int' object to str implicitly” 该错误发生在如下代码中...导致“TypeError: 'range' object does not support item assignment” 有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式...然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
2)使用 = 而不是 ==(导致 “SyntaxError: invalid syntax”) = 是赋值操作符而 == 是等于比较操作。...要记得返回 len 值而不是返回这个列表。...spam = spam[:13] + 'r' + spam[14:] print(spam) 6)尝试连接非字符串值与字符串(导致 “TypeError: Can’t convert ‘int’ object...(导致 “TypeError: ‘range’ object does not support item assignment”) 有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式...然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
2)使用 = 而不是 ==(导致“SyntaxError: invalid syntax”) = 是赋值操作符而 == 是等于比较操作。...match any outer indetation level”以及“IndentationError:expected an indented block”) 记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式...要记得返回len 值而不是返回这个列表。...(导致“TypeError: 'range' object does not support item assignment”) 有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式...然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
2)使用 = 而不是 ==(导致“SyntaxError: invalid syntax”) = 是赋值操作符而 == 是等于比较操作。...要记得返回len 值而不是返回这个列表。...spam = spam[:13] + 'r' + spam[14:] print(spam) 6)尝试连接非字符串值与字符串(导致 “TypeError: Can’t convert ‘int’ object...(导致“TypeError: ‘range’ object does not support item assignment”) 有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式...然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
2)使用 = 而不是 ==(导致“SyntaxError: invalid syntax”) = 是赋值操作符而 == 是等于比较操作。...要记得返回len 值而不是返回这个列表。...spam = spam[:13] + 'r' + spam[14:] print(spam) 6)尝试连接非字符串值与字符串(导致 “TypeError: Can't convert 'int'...(导致“TypeError: 'range' object does not support item assignment”) 有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式...然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
2 使用 = 而不是 == 也会导致“SyntaxError: invalid syntax” = 是赋值操作符而 == 是等于比较操作。...要记得返回len 值而不是返回这个列表。...] print(spam) 6 尝试连接非字符串值与字符串 导致 “TypeError: Can't convert 'int' object to str implicitly” 该错误发生在如下代码中...导致“TypeError: 'range' object does not support item assignment” 有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式...然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
2)使用 = 而不是 ==(导致“SyntaxError: invalid syntax”) = 是赋值操作符而 == 是等于比较操作。...要记得返回len 值而不是返回这个列表。...spam = spam[:13] + 'r' + spam[14:] print(spam) 6)尝试连接非字符串值与字符串(导致 “TypeError: Can't convert 'int...(导致“TypeError: 'range' object does not support item assignment”) 有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式...然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
Python的基本数据类型有整数,浮点数,布尔,字符串,它们是最基本的数据。...下面的列表有5个元素,元素类型分别是字符串、整数、浮点数和列表: In [15]: list_a = ['a', 'b', 3, 8.9, [1,2]] In [16]: list_a Out[16]...与我们生活中不同的是,列表的第一元素的索引是0。...[55]: 3 (2)max() 返回列表元素中的最大值,列表元素必须是同一类型且可比较,比如都是数字型的,或都是字符串,如果类型不统一就会报错: In [57]: max(['a', 'b', 'c...: '<' not supported between instances of 'str' and 'int' (4)sum() 计算列表所有元素的和,其元素类型必须是数值型的(整数、浮点数) In
元组(元组)跟列表(名单)非常相似,二者之间的差异就是元组不可改变,列表是可以改变的。...| | | | 正索引: 0 1 2 3 4 负索引: -5 -4 -3 -2 -1 因为元组是不可修改的,我们通过索引企图修改元素时,就会报错...元组x的前两个元素'a',1都是不可变的,而第三个元素是list,这个列表是可以改变的,但不能把第三个元素赋值为其它列表(上面示例中最后一个操作)或其它任何类型的数据。 ?...元组相关的内置函数 (1)len() 计算元组的长度,即计算元组元素的个数) In [55]: len([1,2,3]) Out[55]: 3 (2)max() 返回元组元素中的最大值,元组元素必须是同一类型且可比较...: '<' not supported between instances of 'str' and 'int' (4)sum() 计算元组所有元素的和,其元素类型必须是数值型的(整数,浮点数) In
在有的资料中,还提出了“基础对象类型”的类别,包括整数类型、浮点数类型、字符串类型和布尔类型。所以,根据对象的不同特点,可以有不同的聚类结果。...cities = ['soochow', 'hangzhou', 'shagnhai'] >>> phones = ['0512', '0571', '021'] 为了让城市和区号能对应起来,在创建列表的时候必须按照同样的索引顺序...若要显示 'soochow' 的电话号码,必须通过每个列表的索引获取: >>> print(f"{cities[0]}: {phones[0]}") soochow: 0512 类似这样,一个对象与另外一个对象之间建立对应关系...如果是,则英雄所见略同;如果不是,也要认可此规定。...至此,在已经学过的 Python 内置对象类型中,能够作为键值对中“键”的有:数字(整数、浮点数、复数)、字符串、元组。
传入字符串,并指定了进制,则按对应进制将字符串转换成10进制整数。...如果classinfo类型对象,不是一个类型对象或者由多个类型对象组成的元组,则会报错(TypeError)。...当第二个参数不提供时,第一个参数必须是一个支持可迭代协议(即实现了__iter__()方法)的集合(字典、集合、不可变集合),或者支持序列协议(即实现了__getitem__()方法,方法接收一个从0开始的整数参数...7.len(s) 返回对象的长度,参数可以是序列(比如字符串、字节数组、元组、列表和range对象),或者是集合(比如字典、集合、不可变集合) 如果参数为其它类型,则其必须实现__len__方法,并返回整数...当传入多个可迭代对象时,函数的参数必须提供足够多的参数,保证每个可迭代对象同一索引的值均能正确传入函数。 当传入多个可迭代对象时,且它们元素长度不一致时,生成的迭代器只到最短长度。
如果__len__返回零(且没有实现覆盖这种行为的__nonzero__),对象在布尔上下文中将被视为假(就像空的列表、元组、字符串和字典一样)。...对于序列,如果键为负整数,应从末尾往前数。换而言之,x[-n]应与x[len(x)-n]等效。 如果键的类型不合适(如对序列使用字符串键),可能引发TypeError异常。...def check_key(key): """ 指定的键是否是可接受的索引? 键必须是非负整数,才是可以接受的。...如果不是整数, 将引发TypeError异常;如果是负数,将引发IndexError 异常(因为这个序列的长度是无穷的) """ if not isinstance...如果所使用的索引类型非法,将引发TypeError异常;如果索引类型正确,但不再允许的范围内(即为负数),将引发IndexError异常。
领取专属 10元无门槛券
手把手带您无忧上云