字符串知识汇总

字符串是描述变量的重要信息,其中的应用也是很多,很重要的一点就是StringBuilder。今天我们会为大家介绍一下常用的StringBuilder

1 strip lstrip rstrip

作用:去除多余空格或其他

 print('**sss****'.lstrip('*'))
 print('**sss****'.rstrip('*'))
 a = '***---*****'
 print(a.strip('-_'))
 print(a.rstrip("*"))

输出结果

 sss****
 **sss
 ***---*****
 ***---

2 lower,upper

作用:所有字母大写,和小写

 print('EGOn'.lower())
 print('egon'.upper())

输出结果

 egon
 EGON

3  startswith endswith

 print('alex is sb'.startswith('alex'))
 print('alex is sb'.endswith('sb'))

输出结果

 True
 True

4 format 用法

作用:

1 替代%s占位符,多出来的对应不会报错

2 以索引方式,可实现对此重复

3 以映射方式实现对应关系

 s1='my name is %s my age is %s' %('egon',18) # 如果加入一个19 ,择多出来的19 会让程序报错
 s2='my name is {} my age is {}'.format('egon',18,19) #多出来的19没有映射关系,但是程序不会报错
 print(s1)
 print(s2)

输出结果

 my name is egon my age is 18
 my name is egon my age is 18
 s2 = 'my name is {0} my age is {1} {0} {1}{2}'.format('egon',18,19)
 print(s2)

输出结果

 my name is egon my age is 18 egon 1819
 s2 = 'my name is {name} my age is {age}'.format(age = 18,name = 'egon')
 print(s2)

输出结果

 my name is egon my age is 18

5 split rsplit

作用:按照指定要求切分字符串

 cmd='get|C:\a.txt|3333'
 print(cmd.split('|',1)) # 数字1表示切割次数
 print(cmd.rsplit('|',1)) # rsplit先从右边切割

输出结果

 ['get', 'C:\x07.txt|3333']
 [']

6 join

 # cmd='egon:123:admin:rwx'
 # l=cmd.split(':')
 # print(l)
 # res='----'.join(l)
 # print(res)
 # res=':'.join(l)
 # print(res)
 # res='          '.join(l)
 # print(res,type(res))
 # print(l)
 # print('%s:%s-%s-%s' %(l[0],l[1],l[2],l[3]))

输出结果

 egon:123:admin:rwx
 egon          123          admin          rwx <class 'str'>
 [', 'admin', 'rwx']
 egon:123-admin-rwx

:'.join([1,2,3]) # join方法传入的列表必须只包含str类型的元素
此代码如果运行,程序会报错

7 replace

作用 替换

 msg='wupeiqi say my name is wupeiqi'
 print(msg.replace('wupeiqi','SB'))
 print(msg.replace('wupeiqi','SB',1))

输出结果

 SB say my name is SB
 SB say my name is wupeiqi

8 isdigit

作用:判断数据类型是否为数字

 age=10
 inp=input('>>: ').strip()
 if inp.isdigit():
     inp=int(inp)
     if inp > age:
         print('too big')
 else:
     print('输入数据非法')

比变了因为用户输入不合法使程序报错

列表知识汇总

1 字符串可以转化为列表

 l1=list('hello')
 print(l1)

输出结果

['h', 'e', 'l', 'l', 'o']

2列表常用操作+内置的方法

 l=['a','b','c']
 print(id(l))
 print(l[-1])
 l[0]='A'
 print(id(l))
 print(l)

输出结果

 31329992
 c
 31329992
 ['A', 'b', 'c']

l[3] = "d" #报错

3 切片,顾头不顾尾,步长

 stus=['alex','egon','wxx','yxx','lxx']

 print(stus[1:5:2])

输出结果

 ['egon', 'yxx']
#3、长度
# stus=['alex','egon','wxx','yxx','lxx']
# print(len(stus))

#4、成员运算in和not in
# stus=['alex','egon','wxx','yxx','lxx']
# print('alex' not in stus)

#5、追加
# stus=['alex','egon','wxx','yxx','lxx']
# A = stus.append('wupei')
# stus.append('peiqi')
# print(stus)
# print(A)
# 插入
# stus=['alex','egon','wxx','yxx','lxx']
# stus.insert(1,'艾利克斯')
# print(stus)

#6、删除
# stus=['alex','egon','wxx','yxx','lxx']
# del stus[1]
# print(stus)
# stus.remove('alex')
# print(stus)

# stus.pop(1)
# stus.pop() # 默认删除末尾
# print(stus)

# res1=stus.remove('alex') # 单纯的删除
# print(res1)
# res2=stus.pop(0) # 取走一个值
# print(res2)

#7、循环
# stus=['alex','egon','wxx','yxx','lxx']
#依赖索引
# i=0
# while i < len(stus):
# print(stus[i])
# i+=1

# for i in range(len(stus)): # 可以加上元素顺序
# print(i,stus[i])

# 不依赖索引
# for item in stus:
# print(item)

#补充for循环
# for i in range(0,5,2): # 0,5 表示区间,2 表示步长
# print(i)
# for i in range(10):#默认从零起始
# print(i)
#
# for i in range(10,-2,-1): # 反向切片
# print(i)

# 需要掌握的操作
# stus=['alex','egon','alex','wxx','yxx','lxx']
# print(len(stus)) # stus.__len__()
#
# print(stus.count('alex'))
# stus.extend(['a','b','c']) # 把新增列表中的元素逐一添加到原列表中
# print(stus)
# stus.append(['a','b','c']) # 把新增列表作为一个元素添加到原列表中
# print(stus)

# print(stus.index('alex',0,5)) # alex这个元素在区间(0,5)范围内第一个出现的索引值
#
# stus.reverse()
# print(stus)

# l=[1,10,3,12]
# a = l.sort(reverse= True)
# print(l)
# print(a)

# 大前提:只能同类型直接比较大小,对于有索引值直接的比较是按照位置一一对应进行比较的
# s1='hello'
# s2='hf'
# print(s1 > s2)

# l1=[3,'a','b','c']
# l2=['xxx','d']
# print(l1 > l2) # 报错

# print('Z' > 'a')
# #A-Za-z
# print('a' > 'B')

# 了解
# stus.clear()
# print(stus)
# l=stus.copy()
# print(l)

#练习:
#队列:先进先出
l1=[]

# 入队
l1.append('first')
l1.append('second')
l1.append('third')
print(l1)
# 出队
print(l1.pop(0)) #['second', 'third']
print(l1.pop(0)) #['third']
print(l1.pop(0)) #[]

#堆栈:先进后出
# l1=[]
# #入栈
# l1.append('first')
# l1.append('second')
# l1.append('third')
# #出栈
# print(l1.pop())
# print(l1.pop())
# print(l1.pop())

#总结列表类型:
'''
1 存多个值

2 有序

3 可变

4 列表后面加.append,这一类的,有的有返回值,有的没有返回值
'''
列表是可变类型,同一个内存地址,可以对列表修改,id不变,值变了就是可变类型,不可哈希
# 字符串不可变类型,字符串可以想列表一样提取出来,但是不可以更改编制,只要一改,
# 内存地址就变了,相应的id也就变了,id变了就是不可变类型,可哈希

python中字符串和列表只是汇总的更多相关文章

  1. Python中字符串转换列表

    前言:在使用Python完成工作中一些任务的时候,常常要对数据类型进行转换,比如字符串转列表,列表转字符串,字符串转元组等等,下面分享一下常用的字符串转列表 字符串转列表 第一种字符串转列表: t_s ...

  2. python中字符串与列表之间的相互转换

    1.字符串>列表:split() a = 'my first python' b = a.split(" ") print(b)输出: 2.列表>字符串:join() ...

  3. python中字符串与列表的相互转换

    列表转字符串 list1 = ['abc' , 'def' , 'ghi'] str1 = ','.join(list1) str1 = '##'.join(list1) 字符串转列表 str1 = ...

  4. python中字符串、列表访问

    一.列表 列表由一系列按特定顺序排列的多个元素或空元素组成,包含字母表中所有字母.数字0~9或所有家庭成员姓名的列表:列表中各元素间可以没有任何关系:实际使用过程中,通常给列表指定一个表示复数的名称, ...

  5. Python中字符串、列表、元组、集合、字典中的一些知识,有些不太常见

    ————————笔记——————————# 字符串1. 字符串是不可变的.2. 字符串切片输出:`[start:end:step]`.使用`a[::-1]`倒序输出字符串.3. `str.split( ...

  6. 干货!Python中字符串、列表、元祖、字典,集合之间的转换

    一.字符串的转化 1.字符串转换成列表 字符串转换成list 的时候,str可以作为迭代对象,直接放入:也可以使用split对字符串进行切割.然后返回list s = '1a1b1c' print(l ...

  7. Python中字符串、列表、元组、字典、集合常用方法总结

  8. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  9. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

随机推荐

  1. php 快排

    <?php $arr =array(3,1,5,67,8,7,9,9); function qsort(&$arr,$head,$tail){ if($head>=$tail){ ...

  2. 1.1 Python是一种什么样的语言

    小时不识月,呼作白玉盘.很多人习惯地说Python不过是一种脚本语言而已,实际上这种说法是非常不准确的,完全不能体现出Python的强大.严格来说,Python是一门跨平台.开源.免费的解释型高级动态 ...

  3. C++ 如何获取三个相同数值中的最大值或最小值?

    C++ 如何获取三个相同数值中的最大值或最小值? template<typename T> T Max(T x, T y, T z) { return x > y ? (x > ...

  4. 如何使用 VS生成动态库?

    如何使用 VS生成动态库? //.cpp 文件默认定义了 __cplusplus 宏 #ifdef __cplusplus extern "C"{ #endif xxx #ifde ...

  5. PAT乙级1065 map

    思路:检查某个客人是否有伴侣,如果有,伴侣是否也出现即可. 注意:0个单身狗的时候,不要输出多余的'\n', 否则会出现格式错误. AC代码 #include <stdio.h> #inc ...

  6. hdu1006 Tick and Tick

    原题链接 Tick and Tick 题意 计算时针.分针.秒针24小时之内三个指针之间相差大于等于n度一天内所占百分比. 思路 每隔12小时时针.分针.秒针全部指向0,那么只需要计算12小时内的百分 ...

  7. 多项式A除以B

    这个问题我是在PAT大区赛题里遇见的.题目如下: 多项式A除以B(25 分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数 ...

  8. 排序算法java实现

    1. 插入排序 原理:遍历到第N个元素的时候前面的N-1个元素已经是排序好的了,那么就查找前面的N-1个元素把这第N个元素放在合适的位置,如此下去直到遍历完序列的元素为止.    算法的复杂度也是简单 ...

  9. 标准库bind函数中使用占位符placeholders

    placeholders ,占位符.表示新的函数对象中参数的位置.当调用新的函数对象时,新函数对象会调用被调用函数,并且其参数会传递到被调用函数参数列表中持有与新函数对象中位置对应的占位符. 举个例子 ...

  10. Linux显示指定区块大小为1048576字节

    Linux显示指定区块大小为1048576字节 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ df -m 文件系统 1M-blocks 已用 可用 已用% 挂 ...