欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python常见错误类型与对str,list,dict的补充

程序员文章站 2022-05-03 15:53:59
...

一 常见错误类型

1.SyntaxError: ‘return’ outside function
return 不能在方法以外使用 解决:将return放在方法体中
2. TypeError: must be str, not int
解决:使用+号拼接的时候,必须使用字符串,或者将数字转换成字符串。
3 SyntaxError: invalid syntax 语法错误
解决办法:看报错信息在第几行,从这一行开始往上找。
4 IndentationError: unindent does not match any outer indentation level
未缩进与任何外部缩进级别不匹配
解决办法: TAB 自动缩进。
5 IndexError: string index out of range
索引错误:字符串超出了范围
解决办法:查看字符串长度 索引要小于长度
6 ValueError: substring not found
值错误:子字符串未找到
7 IndexError: list index out of range
列表索引超出了范围
8 AttributeError: ‘tuple’ object has no attribute ‘remove’
arrtibute:属性 , object:对象
属性错误,元组对象没有属性’remove’
9 KeyError: ‘fond’
key:键,错误,没有指定的键值’fond’
10 TypeError: pop expected at least 1 arguments, got 0
arguments: 参数 , expected:期望, at least: 至少
类型错误:pop方法希望得到至少一个参数,但是现在参数为0

二 补充

1 str.casefold :
lower()只对 ASCII 也就是 ‘A-Z’有效,但是其它一些语言里面存在小写的情况就没办法了
汉语 & 英语环境下面,继续用 lower()没问题;要处理其它语言且存在大小写情况的时候再用casefold()。
2 str.maketrans()

 content = '领导近日来郑州某基地进行参观并作出了重要讲话'
 # 制作规则:将郑州替换成 xx
s = str.maketrans('郑州', 'xx')
 # 让content 遵守这个规则
content = content.translate(s)
 print(content)

3 extend

list1 = [1, 2, 3, 4, 5, 6, 7]
list1.extend('张三')      # 这里,把一个字符串给弄成单个字符添加进去了。
print(list1)
# 输出: [1, 2, 'hello', 3, 4, 5, 6, 7, 'World', '张', '三']

4 remove

删除所有符合指定要求的这些元素,索引最小的这个。
list1 = ['a', 'b', 'c', 'd', 'c', 'b']
list1.remove('b')
print(list1)
['a','c','d','c','b']

5 打印字典所有键值

for key, value in dic1.items():
    print(key, value)

6, 字符串 join的用法

join():# 连接字符串数组。将字符串、元组、列表中的元素
 以指定的字符(分隔符)连接,生成一个新的字符串
语法: 'sep'.join(seq)
 sep: 分割符,可以为空
 seq: 要连接的元素序列、字符串、元组、字典

# 上面的语法: 以sep为分隔符,将seq所有的元素合并成一个新的字符串
s1 = ['hello', 'world', 'boy', 'girl']
print(''.join(s1))
# helloworldboygirl
print(':'.join(s1))
# hello:world:boy:girl

# 操作字符串
s2 = 'hello world boy girl'
print(':'.join(s2))
# h:e:l:l:o: :w:o:r:l:d: :b:o:y: :g:i:r:l

# 操作元组
s3 = ('hello', 'world', 'boy', 'girl')
print(':'.join(s3))
# hello:world:boy:girl

# 对字典进行操作
s4 = {'hello': '1', 'world': '2', 'boy': '3', 'girl':'4' }
print(','.join(s4))
# hello,world,boy,girl
相关标签: 常见错误