字符串、列表、元组、集合
一、字符串
1、定义
使用引号(单引号、双引号、三引号)引起来的内容,就是字符串。
2、例子
#1、单引号 str1 = 'abc' #2、双引号 str2 = "abc" #3、三引号 str3 = '''abc''' #4、定义字符串, # 字符串本身包含单引号,定义的时候不能使用单引号。字符串本身包含双引号,定义的时候不能使用双引号(也可使用转义字符) str4 = 'I\'m小明'
3、下标(索引)
数据在容器中的位置(字符串、列表、元组)
一般来讲,使用的是正数下标,从0开始
作用:可以通过下标来获取具体位置的数据
Python中是支持负数下标,-1 表示最后一个位置的数据
4、切片
使用切片操作,可以一次性获取容器中的多个数据(多个数据之间存在一定的规律,数据的下标是等差数列)
语法:容器 [start : end : step] (如果start开始位置下标为0,则可省略。end这个位置的下标对应的数据是不能取的,如果步长为-1,则反转为逆序输出字符串)
5、字符串查找方法
语法:字符串 . find(sub_str)
返回:存在返回数据下标,不存在返回-1
6、字符串的替换
语法:字符串 . replace(old, new, count) (count一般不写,表示全部替换。可以指定替换的次数)
返回:会返回一个替换后的完整字符串,并且原字符串不会改变
7、字符串拆分
语法:字符串 .split(sep) (字符串将按照指定字符串sep进行分割,如果按照空格分割就不需要写sep)
返回:列表,列表中的数据就是分割后的字符串,且sep不会出现在列表中
8、字符串的连接
语法:字符串 .join(容器) (容器一般是列表,将字符串插入到列表相邻的两个数据之间,组成新的字符串)
注意:列表中的数据必须都是字符串
str = ["hello","python","and","list"] #将容器中的数据使用空格连接起来 str1 = " ".join(str) print(str1) #结果为:hello python and list
二、列表和元组
1、列表的定义
列表,list,使用 []
列表可以存放任意多个数据,且可以存放任意类型的数据,列表中数据使用逗号隔开
#1、定义空列表 list1 = list() #2、定义非空列表 list2 = list("abcd") #3、直接使用[] list3 = [] #4、定义非空列表 list4 = [1,"hello","我"]
2、列表支持下标和切片
同字符串
3、列表查询方法
index( n ) 方法。n为数据的下标。与字符串里面的find作用一样,找到同样是返回下标,找不到即报错
count() 方法。找到数据在列表中出现的次数
4、列表添加和删除
列表 . append(数据) #在列表的尾部添加数据。直接在原列表中添加数据,不会生成新的列表。
列表 . pop(index) #根据下标删除列表中的数据,index下标可以不写,默认删除最后一个。且返回删除的数据
5、列表修改和反转方法
修改:列表[index] = 新数据
反转:列表 [::-1] 得到一个新的列表,原列表不会改动
列表 . reverse() 直接修改原列表数据
6、列表的排序
列表 . sort() #列表中的数据要一致,升序,从小到大,直接在原列表中进行排序
列表 . sort(reversed=True) #列表中的数据要一致,降序,从大到小,直接在原列表中进行排序
7、列表的嵌套
列表就是嵌套, 就是指 列表中的数据都是列表
list_student = [["张阿三",18,"机械"],["李阿四",19,"自动化"]] print(list_student[0][2])
三、元组
元组,tuple,使用()定义
元组和列表相似,都可存储多个数据,可以存储任意类型,区别就是元组中的数据不能修改,列表数据可以修改
查询方法与列表一样
主要用于传参和返回值
面试题:交换两个变量的值
1、在定义元组的时候,小括号可以省略不写,叫组包。将多个数据值组成元组的过程 a=1,2 #a = (1,2)
2、拆包,将容器中的多个数据,分别给到多个变量,需要保证容器中元素的个数和变量的个数保持一致
a = 10 b = 20 c = b,a #组包 a,b = c #拆包 #交换变量 a,b = b,a
四、字典dict
1、定义(无下标)
字典,dict,使用 {}
字典由键(key)值(value)对组成
一个键值对就是一组数据,多个键值对之间使用逗号隔开。且键不能重复,值无所谓,主要为字符串类型,数字也可以
2、字典的添加、修改、删除、查询
添加,修改:字典["键“] = 值 (键存在,修改。键不存在就添加)
删除:字典的删除,根据字典的键,删除键值对
字典 . pop("键")
查询:字典["键"] 如果键不存在就会报错
字典.get(键) 如果键不存在就返回none
3、遍历
字典存在 键,值,遍历分三种情况
遍历键:
for 变量 in 字典:
for 变量 in 字典 . keys(): 可以获取字典所有的键
遍历值
for 变量 in 字典 . values(): 可以获取字典所有的值
遍历键和值
for 变量1,变量2 in 字典.items(): 获取键值对,变量1为键,变量2为值
五、集合
set ()
集合中的数据不能重复,即没有重复数据,对列表进行去重操作,通过类型转换,然后转换回来
my_lsit = [1,1,23,14,45,6,6] list1 = list(set(my_lsit)) print(list1)
方式二
my_lsit = [1,1,23,14,45,6,6] new_list = [] #遍历原列表 for i not in my_lsit: new_list.append(i) print(new_list)