12.3
内容简介:1、列表、元组操作2、字符串操作3、字典操作4、集合操作5、文件操作6、字符编码与转码7、内置函数
一、列表、元祖操作
列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作。
①创建一个列表
只要把逗号分隔的不同的数据项使用方括号括起来即可。代码如下
list1 = 【'physics', 'chemistry', 1997, 2000】;
list2 = 【1, 2, 3, 4 】;
list3 = 【"a", "b", "c", "d"】;
②访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
list1 = 【'physics', 'chemistry', 1997, 2000】;
list2 = 【1, 2, 3, 4, 5, 6, 7 】;
print ("list1【0】: ", list1【0】)
1)切片
print ("list2【1:5】: ", list2【1:5】)
#起始位置包括,结束位置不包括(顾头不顾尾)
输出如下:
list1【0】: physics
list2【1:5】: 【2, 3, 4, 5】
取最后一个:print(list1【-1】)
取最后两个值:print(list1【-3:】)
2)修改
list【2】=”PE.”
③更新列表
你可以对列表的数据项进行修改或更新,你也可以使用extend()方法来添加列表项,可以用append()来添加一个对象到列表尾部,如下所示:
list.extend(【1,2,3】)
【1,2,1,2,3】 # 输出列表list
list.append(【1,2,3】)
【1,2,【1,2,3】】 # 输出列表
① 删除列表中的元素
del list【2】 #删除list中下标为三的元素
② Python列表操作的函数和方法
列表操作包含以下函数:
1、cmp(list1, list2):比较两个列表的元素
2、len(list):列表元素个数
3、max(list):返回列表元素最大值
4、min(list):返回列表元素最小值
5、list(seq):将元组转换为列表
列表操作包含以下方法:
1、list.append(obj):在列表末尾添加新的对象
2、list.count(obj):统计某个元素在列表中出现的次数
3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
5、list.insert(index, obj):将对象插入列表,index是下标
6、list.pop(obj=list【-1】):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7、list.remove(obj):移除列表中某个值的第一个匹配项
8、list.reverse():反向列表中元素
9、list.sort(【func】):对原列表进行排序
二、字符串操作
特性:不可修改
name = "my name is hobby"
name2 = "my name is {name} and I am {year} years old!"
print(name)
print("首字母大写:" + name.capitalize()) # 首字符大写
print(name.endswith("y")) # 判断字符串是否以y结尾
print(name.expandtabs(tabsize=10))
print(name.find("name")) # 返回字符串的下标
print(name【name.find("name"):】) # 字符串也可以切片
print(name2.format(name='hobby', year=23))
print(name2.format_map({'name': 'hobby', 'year': '23'}))
print(name.isalnum()) # 判断是否是阿拉伯数字和英文字符
print(name.isalpha()) # 判断是否是纯英文字符
print('25'.isdecimal()) # 判断是否是十进制
print('1a'.isdigit()) # 判断是否是一个整数
print('a1a'.isidentifier()) # 判断是不是一个合法的标识符(变量名)
print('33A'.isspace()) # 判断是不是一个空格
print('My Name Is '.istitle()) # 判断是否是开头
print('My Name Is'.isupper()) # 判断是否是大写
print('' '+'.join(【'1', '2', '3', '4'】))
print(name.ljust(20, ''))
print(name.rjust(20, ''))
print(name.center(20, "")) # 打印30个字符,剩下不够的用补充
print('Hobby'.lower()) # 把大写变小写
print('Hobby'.upper()) # 把小写变大写
print('\nHobby\n'.strip()) # 去掉两端换行
p = str.maketrans("abcdefy", '123456@') # 用后面的123456代替adbcef
print("Hobby".translate(p))
print('Hobby'.replace('b', 'l', 1)) # 把b换成l,只换一个
print("Hobby".rfind('b')) # 找到最右边的b的下标
print("Hobby,zg".split(',')) # 把字符串根据,分割
print("1+2\n+3+4".splitlines()) #
print("Hobby".swapcase()) # 把大写变小写,小写换大写
print("hobby li".title()) # 变成开头。
print("hobby".zfill(20)) # 自动填充0
三、字典操作
字典特性:①dict是无序的②key必须是唯一的
语法:
info = {
‘stu1101’:”hobby Li”,
‘stu1102’:”zhigu he”
}
name = "my name is hobby"
name2 = "my name is {name} and I am {year} years old!"
print(name)
print("首字母大写:" + name.capitalize()) # 首字符大写
print(name.endswith("y")) # 判断字符串是否以y结尾
print(name.expandtabs(tabsize=10))
print(name.find("name")) # 返回字符串的下标
print(name【name.find("name"):】) # 字符串也可以切片
print(name2.format(name='hobby', year=23))
print(name2.format_map({'name': 'hobby', 'year': '23'}))
print(name.isalnum()) # 判断是否是阿拉伯数字和英文字符
print(name.isalpha()) # 判断是否是纯英文字符
print('25'.isdecimal()) # 判断是否是十进制
print('1a'.isdigit()) # 判断是否是一个整数
print('a1a'.isidentifier()) # 判断是不是一个合法的标识符(变量名)
print('33A'.isspace()) # 判断是不是一个空格
print('My Name Is '.istitle()) # 判断是否是开头
print('My Name Is'.isupper()) # 判断是否是大写
print('' '+'.join(【'1', '2', '3', '4'】))
print(name.ljust(20, ''))
print(name.rjust(20, ''))
print(name.center(20, "")) # 打印30个字符,剩下不够的用补充
print('Hobby'.lower()) # 把大写变小写
print('Hobby'.upper()) # 把小写变大写
print('\nHobby\n'.strip()) # 去掉两端换行
p = str.maketrans("abcdefy", '123456@') # 用后面的123456代替adbcef
print("Hobby".translate(p))
print('Hobby'.replace('b', 'l', 1)) # 把b换成l,只换一个
print("Hobby".rfind('b')) # 找到最右边的b的下标
print("Hobby,zg".split(',')) # 把字符串根据,分割
print("1+2\n+3+4".splitlines(//代码效果参考:http://hnjlyzjd.com/xl/wz_25066.html
)) #print("Hobby".swapcase()) # 把大写变小写,小写换大写
print("hobby li".title()) # 变成开头。
print("hobby".zfill(20)) # 自动填充0
print(info.setdefault('stu1108', '铃铛')) # 字典里找stu1108键值,没有就新建,返回新建的value,有就返回stu1108的值
info.update(b) # b是一个列表,若info和b中有相同的key,则info相同的key的value用b中对应的value代替,若没有,则添加b进info中
print(info.items()) # 把字典转化成列表
字典循环
info = {
'01': 'jio',
'02': 'alx'
}
for i in info: # 高效,用索引通过key就找出value
print(i, info【i】)
for k, v in info.items(): # 先把字典变成列表,没上面那个高效
print(k, v)