元组(tuple)
格式:
变量名=(元素,元素,元素.....)
元组使用小括号,元素间用逗号隔开,元素的数据类型可以不同
元组的特点:
数据有序(支持下标索引)
数据允许重复
不可修改(增/删)
支持for循环
注:与list的区别是元组不可修改
t1=(1,"lili",True)
index = 0
while index <len(t1):
print(f"元素有{t1[index]}")
index+=1
元组的常用操作
t1=('周杰伦',11,['football','music'])
index = t1.index(11)
print(f"年龄在的位置是{index}")
str = t1[0] #将元组转换为列表
print(str)
t1[2].remove('football') #t1[2]相当于这里的列表 删除功能
t1[2].append('coding') #增加功能
print(t1)
字符串(str)
格式:
变量名=" 元素,元素....."
字符串支持下标索引
my_str="itheima and itcast"
value=my_str[2]
value2=my_str[-16]
print(value,value2)
字符串的替换
格式:
字符串.replace(原有的元素,替换的元素)
my_str="itheima and itcast"
new_my_str=my_str.replace("it","程序") #替换得到了新的字符串
print(new_my_str)
字符串的分割
格式:
字符串.split(分隔符字符串)
my_str=("hello python itheima itcast")
my_str_list=my_str.split(" ") #分割
print(my_str_list)
注意:字符串本身不变,而是多了一个列表对象
字符串的规整操作
格式:
字符串.strip() #去除前后空格
字符串.strip(字符串) #去除前后指定字符串
my_str="12itheima and itcast21"
new_my_str=my_str.strip("12") #可传参,默认去除首位空格
print(new_my_str)
字符串.count(元素) 统计个数
字符串.len(字符串) 统计长度
字符串的遍历
my_str="黑马动物园"
x = 0
while x<len(my_str):
print(my_str[x])
x+=1
for i in my_str:
print(i)
举例练习
str="itheima itcast boxuegu"
count = str.count("it")
print(f"有{count}个it字符")
new_str=str.replace(" ","|")
print(new_str)
new_str_list=new_str.split("|")
print(new_str_list)
集合
格式:
变量名=set{元素1,元素2, ....}
集合的特点:
内部无序(去重)
元素不可重复 (不可下标索引)
集合的常用操作
#取出两个集合的差集
set1={1,2,3,4}
set2={1,3,5}
set3=set1.difference(set2) #取出1里有2里没有的
print(set3)
print(set1) #内容无变化
#消除差集
set1.difference_update(set2)
print(set1)
#合并集合,得到一个新集合
set4=set1.union(set2)
print(set4)
num=len(set4) #集合里元素数量
print(num)
补充:
my_set={"黑马程序员","船只教育"}
my_set.add("python")
print(my_set)
my_set.remove("python") #删除某个元素
print(my_set)
num = my_set.pop()
print(my_set)
遍历集合
不可以用下标索引,所以不能用while ,可以用for
#注意列表[],元组(),字符串()
my_list=['黑马程序员','传智播客','黑马程序员','传智播客','itheima','itcast','itheima','itcast','best']
my_set=set() #定义空集合
for i in my_list:
my_set.add(i)
print(my_set)
字典
格式:
变量名={key:value,key:value.....}
字典的注意事项:
键对值的key和value可以是任意类型
字典的常用操作:
#dict字典
my_dict={"周杰伦":99,"林俊杰":23,"周星驰":90}
my_dict["张信哲"]=89
print(my_dict)
#更新元素
my_dict["周杰伦"]=67
print(my_dict)
#删除元素
score=my_dict.pop("周杰伦")
print(my_dict)
#清空
my_dict.clear()
print(my_dict)
字典的遍历:
my_dict={"周杰伦":99,"林俊杰":23,"周星驰":90}
#获取全部key
keys=my_dict.keys()
print(keys) #通过这个来遍历
for i in my_dict:
print(my_dict[i])
序列的切片
格式:
序列[起始下标;结束下标;步长]
表示从序列中从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列
起始下标可以留空,表示从头开始
结束下标可以留空,表示截取到结尾
步长:
步长为1,一个个依次取
步长为N,每次跳过N-1个元素取
步长为负数,表示反向取(注意:起始下标和结束下标也要反向标记)
举例:
#序列切片
my_list=[0,1,2,3,4,5,6]
res=my_list[1:4:1] #步长默认为一
print(res)
#对tuple切片
my_tuple=(0,1,2,3,4,5,6)
res2=my_tuple[:]
print(res2)
#对str
my_str="0123456"
res3=my_str[::2]
print(res3)
res4=my_str[::-1]
print(res4)
res5=my_list[3:1:-1]
print(res5)
res6=my_tuple[::-2]
print(res6)