python列表操作、元组、字符串、字典、集合的操作及相关的函数调用

list列表输出

name = [‘王大’,‘王二’,‘王三’,‘王四’,‘王五’]
print(name[0]) #输出列表中的一个值
切片操作:
print(name[1:3]) #取出值1,值2 俗称顾头不顾尾
print(name[-1]) #取最后一个值
print(name[-2:]) #取最后两个值
print(name[::2]) #从头取道尾,步长为2
print(name[0?2]) #与上个相同

listl列表函数操作

name.append(‘李一’) #追加到最后的操作
name.insert(1,‘李二’) #往1号位前插入
name[2] = ‘李三’ #位2号位从新赋值
name.remove(‘王二’) #删除列表中的王二
del name[0] #删除0号位
name.pop[0] #删除0号位
del name #删除整个列表
name.index(‘王一’) #查找王一的下标位置
name.count(‘王一’) #统计王一的个数
name.clear() #清空列表
name.reverse() #翻转整个列表
name.sort() #排序,按照一定规律
names.extend(name1,name2) #合并列表
name.copy() #复制列表,但是列表里面的列表复制的是对应的指针,因此老的列表变了,新的也会变
import copy
name2 = copy.deepcopy(name1) #深度复制整个列表
name[1][1] #查看列表中的列表
列表循环操作:
for i in names:
print(i) #x循环整个列表

tuple元组操作

tuple—元组跟列表大体一致,但是不能修改,不能删除,因此可以称为制度列表
name= (‘张三’,‘李四’),其只有count、index两种方法

-------几个常用的字符串函数

1、user_choice.isdigit() #判断user_choice是否为数字,例子如下:
if user_choice.isdigit():
user_choice = int(user_choice) #如user_choice为数字,则将其转换成整数

2、enumerate(name) #配合for循环使用,name为列表,输出列表的下标及值,例如:
for i,t in enumerate(name)
print(i,t) #其中i为下标,t为列表的值

3、len(list) #返回列表长度

4、为字体增加颜色
\033[31;1m%s\033[0m 例子如下:
name = [‘王零’,‘王一’,‘王二’,‘王三’,‘王四’,‘王五’,‘王六’]
print(‘颜色字体为:\033[31;1m%s\033[0m’%name)

string字符串的相关操作

name = ‘wangyi’
name.capitalize() #首字母变大写
name.count(‘a’) #统计’a’字母出现的频率
name.center(50,’-’) #把’wangyi’放到中间,两侧用’-'补齐,总共占用50个字符
name.endswith(‘yi’) #判断’wangyi’是不是以’yi’结尾,如果是,返回True,如果不是,返回False
name.find(‘yi’) #查找字符串’yi’的下标,是从几号开始,即判断的是第一个字母,如果没有,返回-1
print(name[name.find(‘yi’):2])#字符串也可以切片输出

format的用法
name = ‘my name is {name},my age is {age}’
print(name.format(name = ‘wangyi’,age = ‘30’))

print(‘abc23’.isalnum())#判断是否包含特殊字符(例如空格,感叹号等等特殊字符),不包含返回Ture,包含返回False

print(’+’.join([‘1’,‘2’,‘3’]))#把列表中的元素转换成字符串,分隔符可以自定义
上述的结果为:1+2+3

print(name.ljust(50,’’))#输出50个字符,最左边为name,右侧用’‘补齐
print(name.rjust(50,’’))#输出50个字符,最右边为name,右侧用’'补齐

print(‘Wangyi’.lower())#大写变小写
print(‘Wangyi’.upper())#小写变大写
print(‘Wangyi’.swapcase)#大小写相互转换

print(’\nWangyi’.lstrip)#去掉左侧的空格及换行
print(‘Wangyi\n’.rstrip)#去掉右侧的空格及换行
print(’\nWangyi\n’.strip)#去掉两侧的空格及换行

p = str.maketrans(‘abcd’,‘1234’)
print(‘abcr’.translate§) #按照p的对应的映射,对’abcr’进行解析
结果为:123r

print(‘1+2+3’.split(’+’)) #把字符串转换成列表,其中可以指定分隔符,这个例子的分隔符为’+’
结果为:[‘1’,‘2’,‘3’]
print(‘1+2\n2+3’.splitlines())#按照换行来把字符串分成列表
结果为:[‘1+2’, ‘2+3’]

print(‘wang yi’.title())#转换成标题
结果为:print(‘wang yi’.title())

dict(key-value)字典的相关操作

例子:info = {‘stu001’:‘交通大学’,‘stu002’:‘工业大学’}
print(info[‘stu001’]) #查找字典,如果字典中没有,是会报错的
结果为:交通大学
print(info.get(‘stu001’)) #查找字典,如果字典中没有,是不会报错的

info[‘stu001’] = ‘电子科技大学’ #修改
info[‘stu003’] = ‘西北大学’ #增加
del info[‘stu001’] #删除字典元素
info.pop(‘stu001’) #删除字典元素
del info #删除整个字典

print(‘stu003’ in info) #查找’stu003’是否存在,存在返回True,不存在返回Fales

print(info.values()) #打印字典中的所有value值
print(info.keys()) #打印字典中的所有key值

info.setdefault(‘stu004’,‘清华大学’) #如果stu004存在,则输出stu004所对应的值,如果不存在,则增加stu004及相对应的值(清华大学)

info.update() #合并字典,更新已经存在的,并且新增不存在的,例子如下:
info = {‘stu001’:‘交通大学’,‘stu002’:‘工业大学’}
info2 = {‘sex1’:‘男’,‘sex3’:‘nv’,‘stu002’:‘北京大学’}
info.update(info2)
print(info)
结果为:{‘stu001’: ‘交通大学’, ‘stu002’: ‘北京大学’, ‘sex1’: ‘男’, ‘sex3’: ‘nv’}

info.items() #将字典转换成列表,有问题,没法用

info.fromkeys([6,7,8],‘test’) #初始化字典,key为6,7,8,values为test,首先该该字典已经存在,其次这个函数功能为初始化字典,之前字典中的数据就会被刷掉

for i in info:
print(i,info[i]) #循环打印字典

set集合的相关操作

list_1 = set([1,2,3,4,5])
list_2 = set([3,4,5])

print(list_1.intersection(list_2)) #求两个集合的交集
print(list_1.union(list_2)) #两个集合的并集
print(list_1.defference(list_2)) #差集
print(list_1.issubset(list_2)) #判断list_1是否为list_2的子集
print(list_1.issuperset(list_2)) #判断list_1是否为list_2的父集
print(list_1.symmetric_difference(list_2))#对称差集,去掉两个集合都存在的数据
print(list_1.isdisjoint(list_2)) #判断两个集合有交集,返回True,没有交集,返回False

#交集
print(list_1 & list_2)
#并集
print(list_1 |list_2)
#差集
print(list_1 -list_2)
#对称差集
print(list_1 ^ list_2)

list_1.add(999) #往集合里添加一项
list_1.update([888,777,666]) #添加多项
list_1.remove(999) #删除999
len(list_1) #字典个数

x in s #判断x是否在s中存在,其中列表(list)、字典(dict)、集合(set)都是这样判断的

list_1.dicard(999) #删除,但是不会吧删除后的结果打印出来,但是经过测试,跟list.remove结果一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值