首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

那些年,写 Python 犯过的错误

导致:SyntaxError: invalid syntax 1、误用 “=” 做等值比较 “=” 赋值操作,判断两个值是否相等 “==” if spam = 42: print('Hello...字符串一个序列对象,支持用索引获取元素,但它和列表对象不同,字符串不可变对象,不支持修改。...导致:TypeError: cannot concatenate ‘str’ and ‘int’ objects 字符串与非字符串连接时,必须把非字符串对象强制转换为字符串类型 num_eggs = 12...mouse'] print(spam[3]) 导致:IndexError: list index out of range 列表对象的索引从0开始的,第3个元素应该是使用 spam[2] 访问 8、字典中使用不存在的键...需要注意的,以上代码都是基于 Python3 的,在 Python2 中即使同样的代码出现的错误也不尽一样,尤其最后一个例子。

73520

开源图书《Python完全自学教程》第5.2.1节

如果读者查看 set() 的帮助文档,会发现其参数必须可迭代对象(这很重要)。至此,我们已经学过的 Python 内置对象中,符合此要求的有:字符串列表、元组、字典。...> 注释(2)所创建的对象,不是空集合,一个空字典,如果要创建空集合,须使用注释(3)的方式。...再总结一下,到现在所学的 Python 内置对象类型中,属于“不可变对象”的有:浮点数、整数、复数、字符串、元组;属于“可变对象”的有:列表、字典。...> TypeError: unhashable type: 'list' 注意区分注释(4)和(1),在注释(4)中,试图得到一个成员分别是 [1 ,2]、3、4 的集合,不是 {1, 2, 3,...: unhashable type: 'dict' 假设,集合中的成员列表,当对这个列表内的成员进行增、删、改操作时,该列表本身没有变(内存地址不变),但其中的成员变化了。

38530

Python str join方法:拼接字符串「建议收藏」

大家好,又见面了,我你们的朋友全栈君。 目录 描述 语法 举例 1. 元素序列列表 2. 元素序列元组 3. 元素序列集合 4. 元素序列字典 5. 元素序列字符串 注意事项 1....要连接字符串序列(参数必须字符串 2. 字符串连接符可省略 3. 当可迭代序列集合时,拼接结果无序的 4....语法 string.join(sequence) 名称 说明 备注 string 字符串连接符 可省略 sequence 要连接的元素序列 不可省略的参数,序列的元素字符串 举例 1....要连接字符串序列(参数必须字符串 join函数的参数应该是全部由字符串构成的可迭代对象。当可迭代对象不全是由字符串构成的时,Python会报错TypeError。...当可迭代序列字典时,拼接结果键的拼接 如果可迭代序列参数字典,join的返回结果字典中键的拼接结果,不是键值对的拼接结果。 可以用values函数来拼接值的结果。

1.1K40

为什么range不是迭代器?range到底是什么类型?

(PS:Python2 中 range() 生成的列表,本文基于Python3,生成的可迭代对象) 于是,我有了这样的疑问:为什么 range() 不生成迭代器呢?...4 对于 range() 函数,有几个注意点:(1)它表示的左闭右开区间;(2)它接收的参数必须整数,可以是负数,但不能浮点数等其它类型;(3)它是不可变的序列类型,可以进行判断元素、查找元素、切片等操作... range() 方法就不同了,它接收的参数不是可迭代对象,本身一种初次加工的过程,所以设计它为可迭代对象,既可以直接使用,也可以用于其它再加工用途。...这我倒一直没注意,原来 range 类型居然跟列表和元组一样地位的基础序列!我一直记挂着字符串不可变的序列类型,不曾想,这里还有一位不可变的序列类型呢。...TypeError: unsupported operand type(s) for *: 'range' and 'int' 那么问题来了:同样不可变序列,为什么字符串和元组就支持上述两种操作,偏偏

84770

Python编程常见问题与解答

4.问:为什么使用pip命令安装扩展库提示“不是内部或外部命令,也不是可运行的程序或批处理文件”?...答:列表的sort()方法原地排序,没有返回值。在Python中,没有返回值的方法,都认为返回空值None,空值没有index()方法的。...答:在Python中,不可哈希(unhashable)和可变的意思一样的。整数、实数、复数、字符串、元组这些不可变的,或者说是可哈希的。列表、字典、集合可变的,或者说是不可哈希的。...答:调用函数时,位置参数的数量必须符合函数定义,如果函数要求接收2个位置参数,那么调用时也应传递2个位置实参。...以[1, 2, 3, 4]和[1, 2, 3]为例,两个列表中前三个元素相等的,但第一个列表中还有多余的元素,所以[1, 2, 3, 4]>[1, 2, 3]。

3.4K10
领券