python学习笔记3_数据容器

数据容器是一种可以存放多个元素的数据类型。

1.列表

变量名 = [元素1,元素2,元素3...]
如:my_list = ["python","学习","笔记"]

列表可以嵌套:
如:my_list2 = [ ["python","学习","笔记"],["章节","行数"] ]

 列表的索引:

my_list = ["python","学习","笔记"]

列表下标正向索引,从0开始,依次递增,0,1,2,3,4,5...
my_list[0]为"python",my_list[1]为"学习",my_list[2]为"笔记"。

列表下表方向索引,最后一个元组下标为-1,依次递减,...-5,-4,-3,-2,-1
my_list[0]为"笔记",my_list[-2]为"学习",my_list[-3]为"python"。

嵌套列表的索引:
my_list2 = [ ["python","学习","笔记"],["章节","行数"] ]

my_list2[0]为内层的第一个列表,即["python","学习","笔记"]
my_list2[0][0]为内层第一个列表的第一个元素,即"python"
如:my_list[1][0]为"章节"

列表的方法:

//list为列表的名字,a为列表中的一个元素,方法直接以示例呈现,便于理解记忆

list.index(a)           查找元素a的下标
list[1]=10              修改下标为1的元素的值为10
list.insert(1,a)        在下标为1的位置添加上a,本来为1的元素变为2
list.append(a)          在列表list的末尾加上a
list.extend(my_list)    将其他数据容器my_list加到list的尾部
del list[1]             删除下标为1的元素
list.pop(1)             删除下标为1的元素
list.remove(a)          删除list里面a第一次出现的元素
list.clear()            清空列表,即为[]
list.count(a)           统计a在list里出现的次数
len(list)               统计list里一共有多少个元素
 

列表的特点

1.可以存放不同类型的元素
2.元素可以重复
3.元素可以修改

列表的遍历:

my_list = ["python","学习","笔记"]
for i range in my_list:
    print(i)
    

2.元组

元组名 = (元素1,元素2,元素3...)
如:my_tuple =["python","学习","笔记"]

"   注意1:即使只有一个元素也要加逗号,如:my_tuple = ["python",]   "
"   注意2:元组元素不可以修改,但是可以修改元组里列表的元素          "
"   注意3:元素在括号里                                            "

元组也可以嵌套,还可以嵌套元组。

元组的方法:

tuple.index(a)     查找a的下标
tuple.count(a)     统计a出现的次数
len(tuple)         统计元素个数

元组的特点:

1.可以存放不同类型的元素
2.元素不可修改
3.元素可以重复
4.支持索引

和列表唯一不同就是不可修改

元组的遍历:

my_tuple =("python","学习","笔记")
for i in range my_tuple:
    print(i)

3.字符串

my_str = "python学习笔记"

字符串的方法:

str(2)               取出下标为2的元素
str.index(a)         查找a的下标
str.replace(a,b)     将a替换为b
str.split(" ")       将空格分隔的字符分为分别为' '和逗号分割的列表的元素,此时字符串变为一个列表
str.strip()          去掉头尾的空格
str.strip(a)         去点头尾的a
str.count(a)         统计a出现的次数
len(str)             统计元素的个数(数字、字母、特殊符号、中文、空格都只算作一个)

字符串的遍历:

my_str = "python学习笔记"

for i in my_str:
    print(i)

 字符串的特点:

1.只可以存放字符串
2.支持下标索引
3.元素不可以修改
4.元素可以重复

4.序列

序列是内容连续、有序、支持下标索引的数据容器。
列表、元组、字符串都是序列。

序列的切片:

序列的切片是从一个序列中取出一个子序列。
序列[起始下标:结束下标:步长]
起始下标没有的话就是从头开始;
结束下标没有的话就是到末尾为止;结果中不含有结束下标的那个元素;
步长没有的话默认为1;
步长为2的话就是每间隔1个元素取一个。步长为复数的话就是颠倒顺序来取。
如:
my_list = [1,2,3,4,5,6,7]
my_list2 = my_list[0:6:2]
则my_list2为[1,3,5]。结果中不含结果下标的那个元素(即7)。

5.集合

{元素1,元素2,元素3,...}
my_set = {"python","学习","笔记"}
去重且无序

集合的方法:

set.add(a)                    将a添加到集合set中
set.remove(a)                 将a从集合set中移除
set.pop()                     从集合中随机取出一个元素成一个新的集合,且此元素将被原set移除
set.clear()                   清空集合
set1.difference(set2)         取出set1和set2的差集成一个新的集合,set1和set2不变
set1.difference_update(set2)  在set1中删除和set2中相同的元素,set1被修改,set2不变
set1.union(set2)              将set1和set2合并为一个新的集合,set1和set2不变
len(set)                      统计元素个数

集合的遍历:

my_set = {"python","学习","笔记"}

for i in my_set:
    print(i)

集合的特点:

1.可以存放不同类型的数据
2.元素不可以重复
3.不支持下标索引
4.元素可以修改

6.字典

字典使用{},元素一一对应

{key1:value1,key2:value2,key3:value3,...}

如:
my_dict = {"张三":70,"李四":80 ,"王五":90}

value的索引: 

value通过key来获取:

a = my_dict["张三"]

b = my_dict["李四"]
字典支持嵌套:
my_dict = {
    "一班":{"张三1":70,"李四1":80 ,"王五1":90},
    "二班":{"张三2":70,"李四2":80 ,"王五2":90},
    "三班":{"张三3":70,"李四3":80 ,"王五3":90},
}

字典的方法:

dict["小明"] = 100    添加 小明:100 这一元素
dict["张三"] = 60     修改张三的value为60 
dict.pop("张三")      获取张三的value,且原来的dict里面的张三被删除
dict.clear()          清空dict,得到{}
dict.keys()           得到dice里面的全部key
len(dict)             统计dict里里面的元素个数(即对数)

字典的遍历:

my_dict = {"张三":70,"李四":80 ,"王五":90}

for key in my_dict.keys():
    print(f"学生:{key},分数:{my_dict[key]}")

字典的特点:

1.key和value可以是任何类型
2.key不可以重复
3.不支持下标索引
4.可以修改

你可能感兴趣的:(python学习笔记,学习,python)