码迷,mamicode.com
首页 > 编程语言 > 详细

python中字符串和列表只是汇总

时间:2018-03-20 19:44:36      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:对应关系   顺序   内存地址   rev   start   提取   映射关系   重要   长度   

字符串知识汇总

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

1 strip lstrip rstrip  

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

 

1 print(**sss****.lstrip(*))
2 print(**sss****.rstrip(*))
3 a = ***---*****
4 print(a.strip(-_))
5 print(a.rstrip("*"))

 

输出结果

1 sss****
2 **sss
3 ***---*****
4 ***---

2 lower,upper

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

1 print(EGOn.lower())
2 print(egon.upper())

输出结果

1 egon
2 EGON

3  startswith endswith

1 print(alex is sb.startswith(alex))
2 print(alex is sb.endswith(sb))

输出结果

1 True
2 True

4 format 用法

作用:

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

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

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

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

输出结果

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

输出结果

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

输出结果

1 my name is egon my age is 18

5 split rsplit

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

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

输出结果

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

6 join

 1 # cmd=‘egon:123:admin:rwx‘
 2 # l=cmd.split(‘:‘)
 3 # print(l)
 4 # res=‘----‘.join(l)
 5 # print(res)
 6 # res=‘:‘.join(l)
 7 # print(res)
 8 # res=‘          ‘.join(l)
 9 # print(res,type(res))
10 # print(l)
11 # print(‘%s:%s-%s-%s‘ %(l[0],l[1],l[2],l[3]))

输出结果

1 egon:123:admin:rwx
2 egon          123          admin          rwx <class str>
3 [egon, 123, admin, rwx]
4 egon:123-admin-rwx

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

7 replace

作用 替换

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

输出结果

1 SB say my name is SB
2 SB say my name is wupeiqi

8 isdigit

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

1 age=10
2 inp=input(>>: ).strip()
3 if inp.isdigit():
4     inp=int(inp)
5     if inp > age:
6         print(too big)
7 else:
8     print(输入数据非法)

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

列表知识汇总

1 字符串可以转化为列表

1 l1=list(hello)
2 print(l1)

输出结果

[h, e, l, l, o]

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

1 l=[a,b,c]
2 print(id(l))
3 print(l[-1])
4 l[0]=A
5 print(id(l))
6 print(l)

输出结果

1 31329992
2 c
3 31329992
4 [A, b, c]

l[3] = "d" #报错

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

1 stus=[alex,egon,wxx,yxx,lxx]
2 
3 print(stus[1:5:2])

输出结果

1 [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中字符串和列表只是汇总

标签:对应关系   顺序   内存地址   rev   start   提取   映射关系   重要   长度   

原文地址:https://www.cnblogs.com/mayite/p/8611484.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!