python -- 容器

python中的常见的容器只要包括:列表、元组、字典、集合

1、列表(list)

列表是一个有序的序列结构,序列中的元素可以是不同的数据类型,里面的元素是可以改变的,并且里面的元素是可以重复的。

1、定义一个列表,使用[ ]表示:
info=[2,3,3,"lisi","文科一班"]
print(info,type(info))
2、python中的索引:

在python中,索引一般都是从0开始的,如果列表中有n个元素,那么最后一个元素的下标是n-1

3、获取列表的长度:使用函数len
print("该列表的长度是:{}".format(len(info)))
 4、对列表进行增删改操作:
#1、根据下标的位置获取对应的元素,下标是从0开始计算的
"""
    1、下标可以分成正下标和负下标,此时需要注意的是负下标是从-1开始的
    2、取出list列表中的元素的方式:
        1、通过正下标
        2、通过负下标
        3、可以通过计算list列表的长度减去对应的数
"""
print(info[1])
#取出列表中的最后一个元素
print(info[-1])
print(info[len(info)-1])
#2、向列表中追加元素,会修改原来的列表,并不会创建一个新的列表用来接收元素
info.append("20402027")
print(info)
#3、删除列表中的元素,直接指定需要删除的元素,如果列表中存在多个相同的元素,只会删除第一个元素。
"""
    删除列表中的元素的方式:
    1、remove:指定需要删除的元素
    2、del 删除指定下标位置对应的元素,权限比较大,可以删除任意的元素
"""
#方式一:remove
info.remove("20402027")
print(info)
#方式二:del
del info[0]
print(info)

#插入元素,指定对应的索引位置,需要插入的元素
info.insert(0,2)
print(info)

#修改列表(list)中的元素:
print("没有修改的列表是:{}".format(info))
info[0]=100
print("修改后的列表是:{}".format(info))
5、切片:

python中的切片的定义格式:

"""
    python中的切片的定义的格式:
    1、切片的语法:
        列表的名称[开始的位置:结束的位置:步长]
    2、切片是含头不包含尾部
    3、注意:
        (1)、不指定步长,默认是1
        (2)、如果不指定开始位置和结束位置,默认是去列表中的全部元素,
        如果开始位置不写,代表的是从0开始,如果末尾不屑默认截取到末尾
        (3)、如果想要将列表反转,只需要将步长设置成-1
        (4)、所有的切片结束之后返回的都是一个新的切片
"""


info1=[1,2,3,4,5,6,7]
info2 = info1[::2]
print(info2)
info3=info1[::-1]
print(info1)
print(info3)

#使用函数reverse反转列表,这个是修改了原先的列表,不会创建一个新的列表。
info1.reverse()
print(info1)
 6、嵌套列表:
#嵌套列表:
info4=[[1,2,3],["java","hadoop","spark"],[4,5,6]]
print(info4[1][0])

#将一个列表装换成一个字符串,并使用空格进行切分
info5=['1','2','3','4']
print(" ".join(info5))
2、元组(tuple)

元组的数据结构与列表比较相似,里面的元素的类型可以不相同,但是元组被创建后就不能被修改,元素可以重复,创建元组的方式是使用()

#创建一个元组,使用()创建一个元组。
info6=(1,2,3,4,4)
print(info6,type(info6))
#元组检索
print(info6[1])
#元组切片:
print(info6[::-1])
3、字典(dict)

字典是一个大小可变的键值对,其中key和value都是python中的对象,字典一般使用在需要快速查询的地方。

"""
    字典是一个大小可变的键值对,其中key和value都是python中的对象,字典一般是用在需要告诉查询的地方
    语法格式:使用{key:value},主键是唯一的。
    字典检索:使用提供key,返回对应的value值。
"""
#创建一个字典:
info7={1:"java",2:"spark",4:"flink"}
info8 = {"name":"lisi","age":18,"clazz":"文科一班"}
print(info7,type(info7))

#字典检索:通过对应的key获取对应的value的值,如果key不存在就会报错,
print(info7[1])
#解决方式是,可以在获取之前先进行判断:
if "sex" in info8:
    print(info8["sex"])
else:
    print("该key不存在")
print("学生的姓名是:%s,年龄是:%d,班级是:%s" %(info8["name"],info8["age"],info8["clazz"]))

#通过key来修改对应的value的值,如果在字典中key不存在就插入,有就修改:
info8["clazz"]="文科二班"
print("修改过后的字典是:%s"%(info8))
info8["sex"]="男"
print("第二次修改过后的字典是:%s"%(info8))

#删除字典中的元素:
"""
    1、使用del函数,删除的是指定key对应的value的值。
    2、使用clear函数,直接清空字典中的所有的元素。
"""
info9 = {"name":"lisi","age":19,"clazz":"文科十班"}
del info9["name"]
print("使用del删除过后的字典是:%s"%(info9))
print("使用clear删除后的字典是:%s"%(info9.clear()))
print(info9)


#获取字典中的所有的key
print("info8中的key包括:{}".format(info8.keys()))
#获取字典中的所有的value值
print("info8中的所有的value的值分别是:{}".format(info8.values()))
4、集合(set)

集合一般都是无序且唯一的,他是一组键的集合,在集合中不存储值,且元素不会出现重复。一般的使用的场景是用于:去重,在集合中的元素是唯一的。集合中的元素是可以改变的。

"""
    集合:结合是一种无序集,他是一组键的集合,不存储值,在集合中,元素是不允许重复的
    集合的一般使用的场景是:去除重复值,集合中的元素可以改变。
    语法格式:
    格式一:
        set(["元素1","元素2"])
    格式二:直接使用大括号:{},此时需要与字典区别开,字典里面的元素都是kv的形式
        info={"元素1","元素2"}
"""
#创建一个set集合:
info10=set(["java","flink","spark","hadoop"])
info11={"java","spark","flink","hadoop"}
print(info10,type(info10))
print(info11,type(info11))

#set集合的运算:
s={1,2,3,4}
s1={2,3,4,5,6}
print(s - s1)  #差集
print(s & s1) #交集
print(s | s1)  #并集

#向set集合中添加元素:
s.add(100)
print("添加元素后的set集合是:%s"%(s))
#删除set集合中的元素:
s.remove(100)
print("删除元素后的set集合是:%s"%s)

你可能感兴趣的:(python,3.7.9,python,开发语言)