千家信息网

python中字符串,列表,字典,元组常规操作有哪些

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要为大家展示了"python中字符串,列表,字典,元组常规操作有哪些",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"python中字符串,列表,字
千家信息网最后更新 2025年01月19日python中字符串,列表,字典,元组常规操作有哪些

这篇文章主要为大家展示了"python中字符串,列表,字典,元组常规操作有哪些",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"python中字符串,列表,字典,元组常规操作有哪些"这篇文章吧。

循环求和

1+2+3+4+5=15

count = 1sum = 0while count <= 5:    print(count)    sum = sum + count    count = count + 1print(sum)

结果:
1
2
3
4
5
15

求奇数

count =1while count <= 10:    if  count % 2 != 0:        print(count)    count = count +1

结果:
1
3
5
7
9

阶乘

  1. 阶乘

    print(2**3)

    结果:
    8

    取整除

  2. 取整除

    print(8//2.4)

    结果:
    3

    取余

  3. 取余

    print(9%4)

    结果:
    1

    二进制长度

    a = 5print(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

字符串常用方法

  1. 字符串转换

    #首字母大写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

  2. 字符串操作

#特殊字符隔开的首字母大写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,', '']

#格式化输出1name = input('name:')age = input('age:')job = input('job:')str = "name:%s\nage:%s\njob:%s" %(name,age,job)print(str)

结果:
name:李白
age:男
job:300

#格式化输出2str1 = '我叫{},今年{}岁,我喜欢{}'.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开始,没有找到返回:-1str1 = '我叫李白,今年300岁,我喜欢唐朝,我很帅'print(str1.find('年'))print(str1.find('我'))   #首次出现的位置print(str1.find('我',13))    #指定位置开始找print(str1.find('ke'))  #没有找到返回-1print(str1.index('ke'))  #查找出现字符的索引,没有找到直接报错

结果:
6
0
18
-1

  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

  2. 遍历字符串

#while方式str1 = 'Google'count = 0while count < len(str1):    print(str1[count])    count = count +1else:    print('完成')#for方式      for c in str1:    print(c)else:    print('完成')

结果:
G
o
o
g
l
e
完成

列表

  1. 列表增加

    lst = ["周星驰", "王力宏", "周润发"]lst.append("伍佰")    # 向列表中添加一个元素, 元素放在末尾. 把一个元素追加到列表的末尾print(lst)lst.insert(1, "马化腾")    # 把元素插入到指定位置. 元素的移动print(lst)print(lst+['王石','李白'])  # 迭代添加lst.extend(["李嘉诚","马云", "王健林"])    # 迭代添加print(lst)

    结果:
    ['周星驰', '王力宏', '周润发', '伍佰']
    ['周星驰', '马化腾', '王力宏', '周润发', '伍佰']
    ['周星驰', '马化腾', '王力宏', '周润发', '伍佰', '王石', '李白']
    ['周星驰', '马化腾', '王力宏', '周润发', '伍佰', '李嘉诚', '马云', '王健林']

  2. 删除

    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)

结果:
[]
[]

  1. 修改

    lst = ['周星驰', '马化腾', '王力宏', '周润发', '伍佰', '李嘉诚', '马云', '王健林']lst[2] = '王尼玛'print(lst)lst[1:3] = "马化腾"    # 迭代修改print(lst)lst = ['周星驰', '马化腾', '王力宏', '周润发', '伍佰', '李嘉诚', '马云', '王健林']lst[1:3] = ["周杰", "黄渤", "刘德华"]   # 迭代修改print(lst)

    结果:
    ['周星驰', '马化腾', '王尼玛', '周润发', '伍佰', '李嘉诚', '马云', '王健林']
    ['周星驰', '马', '化', '腾', '周润发', '伍佰', '李嘉诚', '马云', '王健林']
    ['周星驰', '周杰', '黄渤', '刘德华', '周润发', '伍佰', '李嘉诚', '马云', '王健林']

  2. 排序

    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, '李白', ['王尼玛', '马云', '王健林'])

字典

  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等于Noneprint(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}

  2. 删除

    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)

    结果:
    {}
    {}

  3. 修改

    dic[1] = '杜甫'print(dic)dic1 = {1:'李清照','age':200}dic.update(dic1)    #把dic1更新到dic中,如果key存在,则替换,否则增加print(dic)

    结果:
    {1: '杜甫', ('黄渤', '王健林'): '马云', 'key': 'value'}
    {1: '李清照', ('黄渤', '王健林'): '马云', 'key': 'value', 'age': 200}

  4. 查询,获取

    print(dic[1])print(dic.setdefault(1))# print(dic['name'])  #字典没有该key报错print(dic.get(1))print(dic.get('name'))  #字典不存在key,返回:Noneprint(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. 遍历
    5.1 items 遍历

    dic = {1: '李白', ('黄渤', '王健林'): '马云', '及时雨': '宋江', '玉麒麟': '卢俊义','维恩':'暗隐猎手'}for k,v in dic.items():    print(k,v)

    结果:
    1 李白
    ('黄渤', '王健林') 马云
    及时雨 宋江
    玉麒麟 卢俊义
    维恩 暗隐猎手

  6. 静态方法

    # 字典静态方法,返回一个新的字典,并且指定valuedic = {"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'}

    集合

  7. 集合

    # 可哈希的,不可变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))  #转换元组

结果:
{'张伟', '刘伟', '王磊', '李强', '刘洋', '张强'}
['张伟', '刘伟', '王磊', '李强', '刘洋', '张强']
('张伟', '刘伟', '王磊', '李强', '刘洋', '张强')

解构,解包

  1. 元组

    a = 1,2 #元组定义print(a)a,b = (1,2) #对应赋值变量print(a)print(b)

    结果:
    (1, 2)
    1
    2

  2. 列表

    a,b = [1,2]print(a)print(b)

    结果:
    1
    2

  3. 类型转换

    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']

  4. 隐形为False的参数:0,'',None,[],(),{},set()

lst = [0,'',None,[],(),{},set()]for el in lst:    if el or 0:        print(True)else:    print(False)

结果:
False

以上是"python中字符串,列表,字典,元组常规操作有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0