列表数据类型
1.列表
>>>spam = ['a','b','c','d']
2.利用下标获取列表中的单个值
>>>spam[0]
'a'
注:下标只能是整数,不能是浮点数,不然会导致TypeError
3.列表可以表示多维度的数据,并用多重下标访问
>>>spam = [['a','b','c','d'],[10,20,30,40,50]]
>>>spam[0]
['a','b','c','d']
>>>spam[0][1]
'b'
>>>spam[1][2]
30
4.负数下标代表从后向前数的对应值
>>>spam = ['a','b','c','d']
>>>spam[-1]
'd'
5.利用切片获取子列表
>>>spam = ['a','b','c','d']
//spam[0]:一个列表和下标
//spam[1:3]:一个列表和切片,代表切片的开始和结束下标
>>>spam[1:3]
['b','c','d']
6.len()获取列表的长度
>>>spam = ['a','b','c','d']
>>>len(spam)
4
7.用下标改变列表的值
>>>spam = ['a','b','c','d']
>>>spam[2] = 'y'
>>>spam
['a','b','y','d']
8.列表的连接
>>>['a','b','c','d'] + ['A','B','C']
['a','b','c','d','A','B','C']
9.列表的复制
>>>['a','b','c','d'] * 3
['a','b','c','d','a','b','c','d','a','b','c','d']
10.从列表中删除值
>>>spam['a','b','c','d']
>>>del spam[2]
>>>spam
['a','b','d']
11.利用循环实现列表的遍历
spam = ['a','b','c','d']
for i in spam
print(i)
python中一个常用的的技巧:在for循环中使用range(len(someList)),来迭代列表中的每一个下标。
12.in和not in
利用in和not in,可以判断一个值是否在列表中。返回值为Ture或False
13.多重赋值
cat = ['fat','black','loud']
size,color,disposition = cat // 等价于size = cat[0],color = cat[1],disposition = cat[2]
14.增强赋值
+=
-=
*=
/=
%=
15.方法
1.index()方法查找值的位置
2.append()方法在列表最后添加值
3.insert()方法在列表的指定位置添加值
4.remove()方法从列表中删除指定的值,有重复值的情况下只删除第一个
5.sort()方法将列表中的值排序;sort(reverse=Ture)时逆序排序;sort(key=str.lower)将列表中所有项当成小写排序
16.字符串也可以用列表的方法
>>>name='ABCD'
>>>name[0]
'A'
>>>name[0:1]
'AB'
>>>'A' in name
True
17.列表是可变的数据类型,可以增加、修改、删除;
字符串是不可变的数据类型
18.改变字符串的方式:使用切片和连接
>>>name='ABCD'
>>>newName = name[0:1] + 'Z' + name[2:3]
>>>newName
'ABZCD'
19.元组:用圆括号括起来的数组,是不可变的数据类型
如果元组中只有一个值,要在值后面加一个逗号。
20.函数list()和tuple()返回传递给他们的值的列表和元组版本。
21.如果需要元组值的一个可变版本,使用list()函数即可。
22.引用:
每次赋值都是一个新的引用
如:spamA=40;spamB=42;
变量=变量时,引用的是同一个引用的值
如:spamA=40;spamB=spamA;
23.传递引用
def eggs(parameter)
parameter.append('Hello')
spam = [1,2,3]
eggs(spam)
print(spam)
输出spam为[1,2,3,'Hello']
24.如果想要一个列表变量等于另一个列表变量的值,使用copy模块的copy方法。
spam = ['a','b','c','d']
cheese = copy.copy(spam)
//此时两个变量引用不同的值,修改cheese不会影响spam
25.如果要复制的列表中还包含了列表,就需要用 copy.deepcopy()方法代替
26.列表&元组的异常
1.下标越界:IndexError
2.下标类型为非整型:TypeError
3.多重赋值时变量与列表长度不等:ValueError
4.查找或删除的值不再列表中:ValueError
5.在非列表或元组上使用append和insert方法:AttributeError
6.对无法排序的列表使用sort方法:TypeError
7.修改元组的值:TypeError
字典数据类型
1.字典时用花括号括起来的数据合集
2.字典的数据为key:value形式
3.key被称为索引
4.通过key访问value
5.字典中的表项是不排序的
6.字典的方法
keys()用于返回键
value()用于返回值
items()用于返回键值对:返回结果是元组
dict[' '][' '] 用于访问多层字典结构
get()方法用于获取对应键的值,如,get('a',0),0为没有对应key时的默认值
setdefault()方法:spam.setdefault('color','black')//当key不存在时,设置其默认值为value,并返回value;如果key存在,则返回其实际值
7.用in或者not in来判断键或者值知否存在于字典,返回布尔结果
8.字典的异常
1.输入不存在的key:KeyError
9.统计一段字符串中的每个字符及其出现次数
message = 'jlserhgjehgoehrgeohrg'
count = {}
for character in message:
count.setdefault(character ,0)
count[character ] = count[character ] +1
print(count)
10.漂亮打印pprint
如果需要打印的字典包含列表或者字典,pprint.pprint()函数可以使打印结果更好看(符合阅读方式)
如果需要返回的文本作为字符串,而不是显示在屏幕上,就使用pprint.pformat()函数
字符串操作
1.输入的字符串中包含单引号时,使用双引号括住字符串
2.输入的字符串中包含双引号时,使用单引号括住字符串
3.反斜杠\,表示转移字符
\n :代表换行符
\t :代表制表符
4.原始字符串
在字符串开始的引号之前加上r,表示原始字符串,即完全忽略所有的转义字符,打印出字符串中所有的反斜杠。
5.三重引号的多行字符串
开始和结束用3个单引号或双引号括起来的字符串,表示多行字符串。该字符串不受python的缩进规则影响。
6.多行注释
用多行字符串代表多行注释
7.字符串可以使用下标和切片,截取自字符串
8.字符串可以使用in和not in,判断字符串的包含关系
9.字符串的方法:
1.upper() : 原字符串中的所有字母都被相应的转换为大写
2.lower(): 原字符串中的所有字母都被相应的转换为小写
3.isupper():如果字符串中至少有一个字母,并且所有字母都是大写,返回Ture,否则返回False
4.islower():如果字符串中至少有一个字母,并且所有字母都是小写,返回Ture,否则返回False
5.isalpha():字符串只包含字母,且非空
6.isalnum():字符串只包含字母和数字,且非空
7.isdecimal():字符串只包含数字字符,且非空
8.isspace():字符串只包含空格、制表符、换行符,且非空
9.istitle():字符串仅包含以大写字母开头,后面都是小写字母的单词
10.startwith()和endwith()
11.join():将字符串加入字符串列表中,如,'a'.join(['A','B','C'],输出AaBaC
12.split():按照换行符分割多行字符串,分割为列表
13.rjust()和ljust():默认用空格填充,向左和向右调整字符串;
'hello'.rjust(10)-->' hello'
'hello'.rjust(10,'*')-->'**********hello'
14.center():居中
'hello'.center(20,'*')-->'*******hello*******'
15.strip():删除字符串两边的空白字符
16.rstrip():删除字符串右边的空白字符
17.lstrip():删除字符串左边的空白字符
18.字符串的复制和粘贴,pyperclip模块
pyperclip.copy('hello') //复制
pyperclip.paste() //粘贴
网友评论