python中列表、元组、集合、字典,字符串的用法总结

python中列表、元组、集合、字典,字符串的用法总结

字符串string

​ 何为字符串,其实和C中的定义类似,就是类似一个字符数组,在python中一般用‘ ’或者“ ”引出来,C语言中‘ ’是字符,“ ”是字符串,而python不区分这两者。

image-20250312094639450

​ 创建字符串只需要给变量赋值即可,如上,我只需要给随便想出来的变量名赋值一个字符串即可使用。

​ 使用?要怎么使用:

字符串的输出

​ 首先我们肯定是先看字符串的输出,怎么输出?

​ 对于str=“hello world” 0为初始位置即为h,-1为从末尾位置的开始位置(即为d)

​ (1)print(str)
​ (2)print(str[0:-1]) #输出第一个到倒数第二个的所有字符(其实就是从0出发,打印到-1的前面)#“hello worl”

​ (3)print(str1[-1]) #输出字符串的最后一个字符

​ (4)print(str[0:])#从第一个输出到-1,第一个及其后面所有的字符

​ (5)print(str*2) 复制字符串

字符串的查找

find rfind 放回首次和最后一次(rfind)的位置,无则返回-1

index rindex 放回首次和最后一次(rindex)的位置,无则抛出异常

count() 返回一个字符串在另外一个字符串出现的次数

split() 左端分割 rsplit 右端分割

join 多个字符串连接,返回新的字符串

strip rstrip lstrip 删除两端 右端,左端连续的空白字符或者指定字符

startwith endwith 判断是否以指定的字符串开始或者结束

列表list

list,元素类型可以不相同,支持数字,字符串,甚至其他列表嵌套

[ ]里面的元素用逗号隔开,和字符串一样都可以被索引和截取

L=['abc',12,3.14,'Python',2.789]
print(L)  #输出完整的列表
print(L[0])   #输出列表第一个元素
L[0]='a' #直接修改第一个元素
#批量修改
L[1:3]=['ou','yang'] #修改第二和第三个元素(对应下标1和2)
L[2:4]=[]  #删除3,4元素

列表推导式

补充知识:方法和函数的区别

如图
image-20250313002339832

什么是可变和不可变

列表是可变的

image-20250313002429563

我们上面所讲的字符串是不可变的,如图

image-20250313002547380

image-20250313002620193

但是列表可变

列表推导式

问,如果快速创建以下列表

image-20250313002933311

写个循环,挨个添加

列表给我们更加方便的方式

arr=[x**2 for x in range(1,11)]

再问:我们只要这里面的偶数怎么办

image-20250313003151770

arr=[x**2 for x in range(1,11) if x%2==0]#末尾加个判断即可

image-20250313003512052

再再问,如果我们要将偶数的平方,三次方和四次方分别求出,且一个数字的三个构成一个列表要怎么写

image-20250313003552849

这样子写即可

arr=[[x**i for i in [2,3,4]] for x in range(1,11) if x%2==0]#末尾加个判断即可
#解释一下,arr第一个[]收集到这个x的平方和三次方四次方,在外面的循环还有个判断

列表推导式呢其实就是for x in x if x

a=[[1,2,3],[4,5,6],[7,8,9]]
d=[c for b in a for c in b]#类似二重循环

元组

何为元组,不可变

刚刚我们提到通讯录,列表不能作为健,但是一般我们要存储不只名字,有些人都叫张伟,必须使用年龄区分,但是列表又不能作为建,这时候我们可以使用元组

元组类似列表,但是就是不可变,一般用()阔起来

元组不能增删查改

有一个元组contacts

del contact[“小明”]#删除

“小明” in contacts #查看小明是否存在在该字典中,有返回

集合set

何为集合

也是一个大括号,没有顺序,不可重复

什么是有序

可以通过下标访问的即为有序
image-20250313140301549

字典

何为字典

类似通讯录,有键值对,以建找值,其建不可变,所以列表不能作为健

和列表,把电话号码存起来不同,使用元组你可以找到电话号码和人对应起来

字典用{ }阔起来

括号里面是成对的

总结:

类型表示符号可变性有序性元素重复性示例适用场景
字符串' '" "不可变有序可重复s = "hello"文本处理、格式化输出、不可变数据存储
列表[ , , ]可变有序可重复lst = [1, 2, "a"]动态数据集合、需要增删改的场景
元组( , , ), ,不可变有序可重复t = (1, "a")t = 1, "a"不可变数据存储(如配置、常量)、函数多返回值
集合{ , , }可变无序不可重复s = {1, 2, 3}去重、集合运算(交集、并集等)
字典{key: value}可变无序(Python 3.7+ 有序)键不可重复,值可重复d = {"name": "Alice", "age": 20}键值映射(如JSON数据、配置项)、快速查找
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌乱的程序猿

谢谢大佬长这么好看还给我打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值