python中列表、元组、集合、字典,字符串的用法总结
字符串string
何为字符串,其实和C中的定义类似,就是类似一个字符数组,在python中一般用‘ ’或者“ ”引出来,C语言中‘ ’是字符,“ ”是字符串,而python不区分这两者。
创建字符串只需要给变量赋值即可,如上,我只需要给随便想出来的变量名赋值一个字符串即可使用。
使用?要怎么使用:
字符串的输出
首先我们肯定是先看字符串的输出,怎么输出?
对于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元素
列表推导式
补充知识:方法和函数的区别
如图
什么是可变和不可变
列表是可变的
我们上面所讲的字符串是不可变的,如图
但是列表可变
列表推导式
问,如果快速创建以下列表
写个循环,挨个添加
列表给我们更加方便的方式
arr=[x**2 for x in range(1,11)]
再问:我们只要这里面的偶数怎么办
arr=[x**2 for x in range(1,11) if x%2==0]#末尾加个判断即可
再再问,如果我们要将偶数的平方,三次方和四次方分别求出,且一个数字的三个构成一个列表要怎么写
这样子写即可
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
何为集合
也是一个大括号,没有顺序,不可重复
什么是有序
可以通过下标访问的即为有序
字典
何为字典
类似通讯录,有键值对,以建找值,其建不可变,所以列表不能作为健
和列表,把电话号码存起来不同,使用元组你可以找到电话号码和人对应起来
字典用{ }阔起来
括号里面是成对的
总结:
类型 | 表示符号 | 可变性 | 有序性 | 元素重复性 | 示例 | 适用场景 |
---|---|---|---|---|---|---|
字符串 | ' ' 或 " " | 不可变 | 有序 | 可重复 | 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数据、配置项)、快速查找 |