python中字符串,列表,字典,元组常规操作有哪些
这篇文章主要为大家展示了“python中字符串,列表,字典,元组常规操作有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python中字符串,列表,字典,元组常规操作有哪些”这篇文章吧。
创新互联客户idc服务中心,提供香港机房服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。
循环求和
1+2+3+4+5=15
count = 1 sum = 0 while count <= 5: print(count) sum = sum + count count = count + 1 print(sum)
结果:
1
2
3
4
5
15
求奇数
count =1 while count <= 10: if count % 2 != 0: print(count) count = count +1
结果:
1
3
5
7
9
阶乘
阶乘
print(2**3)
结果:
8取整除
取整除
print(8//2.4)
结果:
3取余
取余
print(9%4)
结果:
1二进制长度
a = 5 print(a.bit_length())
结果:
3
字符串切片
#索引从0开始 语法:s[起始位置:结束位置:步长] s1 = 'python最牛B'
#获取指定位置单字符串 print(s1[2])
结果:
t
#倒数获取指定位置单字符串 print(s1[-2])
结果:
牛
#开头到指定位置 print(s1[:3])
结果:
pyt
#指定位置至尾 print(s1[4:])
结果:
on最牛B
#指定位置 print(s1[3:-2])
结果:
hon最
#设置步长 print(s1[::3])
结果:
ph最
#设置步长截取 print(s1[1:-1:2])
结果:
yhn牛
#字符串反转 print(s1[::-1])
结果:
B牛最nohtyp
#反向截取 print(s1[6::-2])
结果:
最otp
字符串常用方法
字符串转换
#首字母大写 str = 'process finished with exit code 0' print(str.capitalize())
结果:
Process finished with exit code 0#首字母小写 str = 'Process finished with exit code 0' print(str.casefold())
结果:
process finished with exit code 0#字母全大写 str = 'process finished with exit code 0' print(str.upper())
结果:
PROCESS FINISHED WITH EXIT CODE 0#字母全小写 str = 'PROCESS FINISHED WITH EXIT CODE 0' print(str.lower())
结果:
process finished with exit code 0#字母大小写翻转 str = 'PROCESS finished WITH exit CODE 0' print(str.swapcase())
结果:
process FINISHED with EXIT code 0字符串操作
#特殊字符隔开的首字母大写 str = 'pro哥梵蒂冈cess finished with exit code 0' print(str.title())
结果:
Pro哥梵蒂冈Cess Finished With Exit Code 0
#指定字符填充居中 str = '苟富贵' print(str.center(9,'#'))
结果:
###苟富贵###
#去除左右两边指定字符 str1 = ' 李白 ' str2 = 'Q李Q白Q' print(str1.strip()) print(str2.strip('Q'))
结果:
李白
李Q白
#指定字符串插入 s = '_' s1 = s.join('大鹏展翅') s2 = s.join(['大鹏展翅','天道酬勤','前程似锦']) print(s1) print(s2)
结果:
大_鹏_展_翅
大鹏展翅_天道酬勤_前程似锦
#字符串替换 str1 = 'Process finished with exit code 0' print(str1.replace('finished','替换了')) print(str1.replace(' ','')) #去除空格 print(str1.replace('i','+++',2)) #替换个数
结果:
Process 替换了 with exit code 0
Processfinishedwithexitcode0
Process f+++n+++shed with exit code 0
#字符串转换列表 str1 = 'Process finished with exit code 0' str2 = 'Process,finished,with,exit,code,0' str3 = 'Process,finished,with,exit,code,0,Process' print(str1.split()) #默认按空格分割 print(str2.split()) #直接转换 print(str2.split(',')) #按指定字符分割 print(str3.split('Process')) #切割符左右无时会出现空列表
结果:
['Process', 'finished', 'with', 'exit', 'code', '0']
['Process,finished,with,exit,code,0']
['Process', 'finished', 'with', 'exit', 'code', '0']
['', ',finished,with,exit,code,0,', '']
#格式化输出1 name = input('name:') age = input('age:') job = input('job:') str = "name:%s\nage:%s\njob:%s" %(name,age,job) print(str)
结果:
name:李白
age:男
job:300
#格式化输出2 str1 = '我叫{},今年{}岁,我喜欢{}'.format('李白',300,'唐朝') str2 = '我叫{0},今年{2}岁,我喜欢{1}'.format('李白','唐朝',300) #按索引对应 str3 = '我叫{name},今年{age}岁,我喜欢{like}'.format(name='李白',age=300,like='唐朝') #按关键字对应 print(str1) print(str2) print(str3)
结果:
我叫李白,今年300岁,我喜欢唐朝
我叫李白,今年300岁,我喜欢唐朝
我叫李白,今年300岁,我喜欢唐朝
#判断字符串是否开头或结尾存在某些字符 str1 = '我叫李白,今年300岁,我喜欢唐朝' print(str1.startswith('我叫')) #判断字符串是否以某些字符开头 print(str1.endswith('唐朝')) #判断字符串是否以某些字符结尾
结果:
True
True
#字符在字符串中出现次数 str1 = '我叫李白,今年300岁,我喜欢唐朝,我很帅' print(str1.count('我'))
结果:
3
#字符在字符串中首次出现的位置,从0开始,没有找到返回:-1 str1 = '我叫李白,今年300岁,我喜欢唐朝,我很帅' print(str1.find('年')) print(str1.find('我')) #首次出现的位置 print(str1.find('我',13)) #指定位置开始找 print(str1.find('ke')) #没有找到返回-1 print(str1.index('ke')) #查找出现字符的索引,没有找到直接报错
结果:
6
0
18
-1
字符串判断
str1 = 'wert_123' str2 = '123' str2_1 = '123.7' str2_2 = '壹仟136万' str3 = '发顺丰123' str4 = '发顺丰' str5 = '发顺丰_'
#是否数字,不包含小数 print(str1.isdigit()) print(str2.isdigit()) print(str2_1.isdigit()) print(str2_2.isnumeric())
结果:
False
True
False
True#是否纯字符,不包含数字,符号 print(str3.isalpha()) print(str4.isalpha()) print(str5.isalpha())
结果:
False
True
False#是否纯字符或数字,不包含符号 print(str3.isalnum()) print(str4.isalnum()) print(str5.isalnum())
结果:
True
True
False遍历字符串
#while方式 str1 = 'Google' count = 0 while count < len(str1): print(str1[count]) count = count +1 else: print('完成') #for方式 for c in str1: print(c) else: print('完成')
结果:
G
o
o
g
l
e
完成
列表
列表增加
lst = ["周星驰", "王力宏", "周润发"] lst.append("伍佰") # 向列表中添加一个元素, 元素放在末尾. 把一个元素追加到列表的末尾 print(lst) lst.insert(1, "马化腾") # 把元素插入到指定位置. 元素的移动 print(lst) print(lst+['王石','李白']) # 迭代添加 lst.extend(["李嘉诚","马云", "王健林"]) # 迭代添加 print(lst)
结果:
['周星驰', '王力宏', '周润发', '伍佰']
['周星驰', '马化腾', '王力宏', '周润发', '伍佰']
['周星驰', '马化腾', '王力宏', '周润发', '伍佰', '王石', '李白']
['周星驰', '马化腾', '王力宏', '周润发', '伍佰', '李嘉诚', '马云', '王健林']删除
lst = ['周星驰', '马化腾', '王力宏', '周润发', '伍佰', '李嘉诚', '马云', '王健林']
#根据索引删除 e = lst.pop() # 返回删除的元素, 删除最后一个 print(e) print(lst) lst.pop(1) # 根据给出的索引进行删除 print(lst)
结果:
王健林
['周星驰', '马化腾', '王力宏', '周润发', '伍佰', '李嘉诚', '马云']
['周星驰', '王力宏', '周润发', '伍佰', '李嘉诚', '马云']#删除没有的元素会报错 lst.remove("伍佰") print(lst)
结果:
['周星驰', '马化腾', '王力宏', '周润发', '李嘉诚', '马云', '王健林']
#切片删除 del lst[1:-2] print(lst)
结果:
['周星驰', '马云', '王健林']
#清空,空列表不能直接判断布尔类型 lst.clear() print(lst) lst = ['周星驰', '马化腾', '王力宏'] lst = [] print(lst)
结果:
[]
[]
修改
lst = ['周星驰', '马化腾', '王力宏', '周润发', '伍佰', '李嘉诚', '马云', '王健林'] lst[2] = '王尼玛' print(lst) lst[1:3] = "马化腾" # 迭代修改 print(lst) lst = ['周星驰', '马化腾', '王力宏', '周润发', '伍佰', '李嘉诚', '马云', '王健林'] lst[1:3] = ["周杰", "黄渤", "刘德华"] # 迭代修改 print(lst)
结果:
['周星驰', '马化腾', '王尼玛', '周润发', '伍佰', '李嘉诚', '马云', '王健林']
['周星驰', '马', '化', '腾', '周润发', '伍佰', '李嘉诚', '马云', '王健林']
['周星驰', '周杰', '黄渤', '刘德华', '周润发', '伍佰', '李嘉诚', '马云', '王健林']排序
lst = [1,40,100,19,15] lst.sort() #升序 print(lst) lst.sort(reverse=True) #降序 print(lst)
结果:
[1, 15, 19, 40, 100]
[100, 40, 19, 15, 1]元组
tu1 = ["周杰", "黄渤", "刘德华"] tu2 = ("周杰", "黄渤", "刘德华") tu3 = ("周杰") tu4 = ("周杰",) tu5 = tuple("周杰") print(type(tu1)) #列表 print(type(tu2)) #元祖 print(type(tu3)) #不是元祖 print(type(tu4)) print(type(tu5))
结果:
#修改元祖里面的列表 tu = (1,'李白',['王尼玛','马云']) tu[2].append('王健林') print(tu)
结果:
(1, '李白', ['王尼玛', '马云', '王健林'])
字典
增加,赋值
dic = {1:'李白',('黄渤','王健林'):'马云','key':'value'} #字典形式
dic.setdefault('key1','新增key1') print(dic) dic['key2'] = '新增key2' print(dic) res = dic.setdefault('key','赋值如何') #已有键名,不起作用,返回已存在的key的值 print(res) print(dic) dic['key'] = '赋值起作用了' print(dic) dic.setdefault('key3') #增加key等于None print(dic)
结果:
{1: '李白', ('黄渤', '王健林'): '马云', 'key': 'value', 'key1': '新增key1'}
{1: '李白', ('黄渤', '王健林'): '马云', 'key': 'value', 'key1': '新增key1', 'key2': '新增key2'}
value
{1: '李白', ('黄渤', '王健林'): '马云', 'key': 'value', 'key1': '新增key1', 'key2': '新增key2'}
{1: '李白', ('黄渤', '王健林'): '马云', 'key': '赋值起作用了', 'key1': '新增key1', 'key2': '新增key2'}
{1: '李白', ('黄渤', '王健林'): '马云', 'key': '赋值起作用了', 'key1': '新增key1', 'key2': '新增key2', 'key3': None}删除
res = dic.pop('key') print(res) print(dic) del dic[1] print(dic)
结果:
value
{1: '李白', ('黄渤', '王健林'): '马云'}
{('黄渤', '王健林'): '马云'}#随机删除 res = dic.popitem() print(res) print(dic)
结果:
('key', 'value')
{1: '李白', ('黄渤', '王健林'): '马云'}#清空 dic.clear() print(dic) dic = {} print(dic)
结果:
{}
{}修改
dic[1] = '杜甫' print(dic) dic1 = {1:'李清照','age':200} dic.update(dic1) #把dic1更新到dic中,如果key存在,则替换,否则增加 print(dic)
结果:
{1: '杜甫', ('黄渤', '王健林'): '马云', 'key': 'value'}
{1: '李清照', ('黄渤', '王健林'): '马云', 'key': 'value', 'age': 200}查询,获取
print(dic[1]) print(dic.setdefault(1)) # print(dic['name']) #字典没有该key报错 print(dic.get(1)) print(dic.get('name')) #字典不存在key,返回:None print(dic.get('name','周润发')) #设置字典不存在key时的返回值
结果:
李白
李白
李白
None
周润发#字典常用操作 dic = {1: '李白', ('黄渤', '王健林'): '马云', '及时雨': '宋江', '玉麒麟': '卢俊义','维恩':'暗隐猎手'} print(dic.keys()) #返回所有key列表 print(dic.values()) #返回所有value列表 print(dic.items()) #返回键值对的元组列表
结果:
dict_keys([1, ('黄渤', '王健林'), '及时雨', '玉麒麟', '维恩'])
dict_values(['李白', '马云', '宋江', '卢俊义', '暗隐猎手'])
dict_items([(1, '李白'), (('黄渤', '王健林'), '马云'), ('及时雨', '宋江'), ('玉麒麟', '卢俊义'), ('维恩', '暗隐猎手')])遍历
5.1 items 遍历dic = {1: '李白', ('黄渤', '王健林'): '马云', '及时雨': '宋江', '玉麒麟': '卢俊义','维恩':'暗隐猎手'} for k,v in dic.items(): print(k,v)
结果:
1 李白
('黄渤', '王健林') 马云
及时雨 宋江
玉麒麟 卢俊义
维恩 暗隐猎手静态方法
# 字典静态方法,返回一个新的字典,并且指定value dic = {"a":"123", "b":"456"} lst = ['cc', 'dd', 'gg'] str = '可口可乐' a = dict.fromkeys(dic, "sb") b = dict.fromkeys(lst, "sb") c = dict.fromkeys(lst) d = dict.fromkeys(str,"sb") print(dict) print(a) print(b) print(c) print(d)
结果:
{'a': 'sb', 'b': 'sb'}
{'cc': 'sb', 'dd': 'sb', 'gg': 'sb'}
{'cc': None, 'dd': None, 'gg': None}
{'可': 'sb', '口': 'sb', '乐': 'sb'}集合
集合
# 可哈希的,不可变 s = frozenset([1, 3, 6, 6, 9, 8]) # 可以去重复. 也是set集合 print(s) ss = {"a", s} print(ss)
结果:
frozenset({1, 3, 6, 8, 9})
{'a', frozenset({1, 3, 6, 8, 9})}
lst = ["张强", "李强", "王磊", "刘伟", "张伟", "张伟", "刘洋", "刘洋"] s = set(lst) # 去重复 print(s) #集合 print(list(s)) #转换列表 print(tuple(s)) #转换元组
结果:
{'张伟', '刘伟', '王磊', '李强', '刘洋', '张强'}
['张伟', '刘伟', '王磊', '李强', '刘洋', '张强']
('张伟', '刘伟', '王磊', '李强', '刘洋', '张强')
解构,解包
元组
a = 1,2 #元组定义 print(a) a,b = (1,2) #对应赋值变量 print(a) print(b)
结果:
(1, 2)
1
2列表
a,b = [1,2] print(a) print(b)
结果:
1
2类型转换
tup = ('cc', 'dd', 'gg') lst = ['cc', 'dd', 'gg'] str = '_' str1 = 'cc_dd_gg' print(list(tup)) #元组转列表 print(tuple(lst)) #列表转元组 print(str.join(lst)) #字符串分割列表,返回字符串 print(str.join(tuple(lst))) #字符串分割元组,返回字符串 print(str1.split('_')) #字符串分割字符串,返回列表
结果:
['cc', 'dd', 'gg']
('cc', 'dd', 'gg')
cc_dd_gg
cc_dd_gg
['cc', 'dd', 'gg']隐形为False的参数:0,'',None,[],(),{},set()
lst = [0,'',None,[],(),{},set()] for el in lst: if el or 0: print(True) else: print(False)
结果:
False
以上是“python中字符串,列表,字典,元组常规操作有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
网页名称:python中字符串,列表,字典,元组常规操作有哪些
网站路径:http://scyanting.com/article/pgjhoh.html