Python列表和字符串

本文详细介绍了Python中列表和字符串的基础操作,包括in查询、列表拼接与复制、元素删除、枚举函数、内置函数如sorted和all等。此外,还涵盖了列表扩展、插入、弹出、排序、索引与计数等高级技巧,以及列表解析式、字符串切片与格式化等知识点。
摘要由CSDN通过智能技术生成

列表和字符串的一些使用情况的补充,参考了《Python3从入门到实战》这本书


参考了《Python3从入门到实战》这本书

1.用in可以判断一个元素是否在一个list里面

l = [1,2,3]
if 1 in l:
	print("1在里面")
运行结果如下:
1在里面

2.可以通过加法运算+拼接两个list,用整数和list的乘法运算*复制list内容.

l1 = [1,2,3]
l2 = [4,5,6]
print(l1+l2)
print(l1*2)
运行结果如下:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3]

3.del()可以删除list中一个元素或一个范围里的元素

del作用于指向list的变量本身时,这个变量名从系统中被删除,它的list引用计数减1,只有当list引用计数为0时,这个list才被删除

l = [1,2,3]
del l[1:3]
print(l)
运行结果如下:
[1]

4.枚举函数enumerate()

l = ["deng","zhi","cheng"]
for i ,v in enumerate(l):
	#可以设置strat从几开始
	print(i,v)
运行结果如下:
0 deng
1 zhi
2 cheng

l = ["deng","zhi","cheng"]
for i ,v in enumerate(l,start=1):
    #可以设置strat从几开始
    print(i,v)
运行结果如下:
1 deng
2 zhi
3 cheng

五:一些内置函数

sorted(iterable,key=None,reverse=False)

a = [1,4,7,2,5]
#对这个列表进行排序
print(sorted(a))
运行结果如下:
[1, 2, 4, 5, 7]

all() 当list为空或者所有元素为Ture时返回True 否则返回False

any() 当list不为空且有一个元素为True时返回True 否则返回False

enumerate() 返回一个enumerate 对象,包含了所有元素的索引和值的元组

len() 返回长度

list() 将一个可迭代对象(tuple,set,dict)转换为一个list

sorted() 返回新排好序的list(原来的list不变)

sum() 返回list中所有元素的和

六:list的extend()方法在list后添加多个元素

l = [1,2,3]
l.extend([2,3,4])
print(l)
运行结果如下:
[1, 2, 3, 2, 3, 4]

七:list的insert方法可以在中间某个位置插入一个元素

odd = [1,9]
odd.insert(1,3)
print(odd)
[1, 3, 9]

八:list的pop方法可以删除指定下标的元素,如果没有指定下标,则删除最后一个元素.而list的clear()方法是清空整个列表

l = [1,2,3,4,5]
l.pop(1)
print(l)
l.pop()
print(l)
l.clear()
print(l)
运行结果如下:
[1, 3, 4, 5]
[1, 3, 4]
[]

九:list的remove方法可以删除特定的元素

l = [2,3,4]
l.remove(2)
print(l)
运行结果如下:
[3, 4]

十:list的sort方法可以对list进行排序,sort(key=None,reverse=False)

sort方法和函数sorted的区别是list的sort方法会修改他作用的list,而sorted不会修改原list,而是返回一个新的list

l = [3,6,1,8,2]
#l.sort()
l1 = sorted(l)
print(l)
print(l1)
运行结果如下:
[3, 6, 1, 8, 2]
[1, 2, 3, 6, 8]
l = [3,6,1,8,2]
l.sort()
print(l)
运行结果如下:
[1, 2, 3, 6, 8]

十一:

index()返回匹配元素的索引

count()返回匹配元素在list中出现的次数

reverse()将list中的元素逆序

copy()返回list的一个浅拷贝

l = [1,2,3,4,5]
print(l.index(5))
print(l.count(5))
print(l.reverse())
print(l.copy())
运行结果如下:
4
1
None
[5, 4, 3, 2, 1]

十二:列表解析式

list中的元素不是对象本身,而是对象的引用.无论每个对象本身占据多大内存,这个引用总是占据固定大小的内存。

l = [2**x for x in range(10)]
print(l)
运行结果如下:
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]

十三:转义字符

#转义字符
print("\'")#打一个引号
print("\\")#打一个反斜杠
#原始字符串,若希望忽略转义字符则将R或者r放在前面
print(r"hello\t\n")
print(R"\'")
运行结果如下:
'
\
hello\t\n
\'

十四:字符串

和list一样,字符串可以进行切片,形式如下:str[start : end : step],返回一个包含start但不包含end的字符串,不过字符串不可以修改,可以用in判断一个字符是否在一个字符串对象中

s = 'hello'
print('h' in s)
运行结果如下:True	

枚举函数返回一个包含所有元素的(下标,值)的enumerate对象

str = 'hello'
str1 = enumerate(str)
for i,j in str1:
	print(i,"---",j)
运行结果如下:
0 --- h
1 --- e
2 --- l
3 --- l
4 --- o

upper()将所有字母变成大写,lower()将所有字母变成小写

str = 'Hello World'
str = str.upper()
print(str)
运行结果如下:
HELLO WORLD

lstrip() rstrip() strip() 分别用于删除字符串左侧,右侧,左右两侧位置的空白字符

s2 = ' 111111 '
print("*",s2.lstrip(),"*")
print("*",s2.rstrip(),"*")
print("*",s2.strip(),"*")
运行结果如下:
* 111111  *
*  111111 *
* 111111 *

split() 通过制定分隔符对字符串进行分割split(srp=None,max=-1),sep是分隔符,默认为空格,max表示最大分割次数,可以产生max+1个分割的字符串,默认-1,表示分割没有限制,该方法返回分割后的字符串列表

s = 'hello,world'
print(s.split())
print(s.split('l',1))
print(s.split('l',-1))

运行结果如下:
['hello,world']
['he', 'lo,world']
['he', '', 'o,wor', 'd']

连接join:用这个字符串连接序列中的其他字符串


l = ["xusong","is","my","lover"]
result = "--".join(l)
print(result)
运行结果如下:
xusong--is--my—lover

替换replace: replace(old,new,[,max])

s1 = "hello hello hello"
s1 = s1.replace('ell','a',2)#替换几次
print(s1)
运行结果如下:
hao hao hello

find(str,beg=0,end=len(string))

index(str,beg=0,end=len(string))

这两个方法都是在字符串中查找是否存在匹配字符串的子串,其中beg表示开始位置,end表示结尾,如果查找成功返回子串位置,否则find方法返回-1 index方法报错

rfind和rindex用于从反方向查询是否存在匹配的子串

find只是字符串的方法,而index也是list tuple的方法

count用于子串的计数 count(str,beg=0,end=len(string))

l = 'hello hello hello'
print(l.count('hello'))
运行结果如下;3

格式化format():

:d表示十进制的整数 :f表示输入浮点数 :b : o :x表示输出的是二进制,八进制,十六进制的数

print("{:d}".format(123))
print("{:f}".format(123.12312312321))
print("{0:b},{0:o},{0:x}".format(12))#加0的目的是占位
运行结果如下:
123
123.123123
1100,14,c
#format() 方法还可以接受dict()实参 
person = {'age':23,"name":"帅哥"}
print("{name} 的 {age} 是".format(**person))
运行结果如下:
帅哥 的 23

eval()函数:

把一个字符串当表达式来使用
print(eval("1+2"))

运行结果如下:
3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值