Python基础(十六、数据容器汇总)

发布时间:2024年01月04日

一、数据容器汇总

列表元组字符串集合字典
元素数量多个多个多个多个多个
元素类型任意任意字符任意键值对,键:除字典外任意类型,值:类型任意
下标索引
重复元素支持支持支持不支持key不可重复
可修改性支持不支持不支持支持支持
数据有序
使用场景可修改、可重复的一批数据记录不可修改、可重复的一批数据记录一串字符的记录不可重复的数据记录通过key检索value的数据记录

二、数据容器通用操作

1.遍历

  • 五种数据容器都支持for循环遍历
  • 列表、元组、字符串支持while循环,集合、字典不支持(没有下标索引)

2.通用统计

len(容器)

统计容器的元素个数

my_list = [1,2,3,4]
my_dict = {"a":"b","c":"d"}
my_str = "abc"
print(len(my_list)) # 输出:4
print(len(my_dict)) # 输出:2
print(len(my_str)) # 输出:3

max(容器)

统计容器的最大元素

my_list = [1,2,3,4]
my_dict = {"a":"b","c":"d"}
my_str = "abc"
print(max(my_list)) # 输出:4
print(max(my_dict)) # 输出:c
print(max(my_str)) # 输出:c

min(容器)

统计容器的最小元素

my_list = [1,2,3,4]
my_dict = {"a":"b","c":"d"}
my_str = "abc"
print(min(my_list)) # 输出:1
print(min(my_dict)) # 输出:a
print(min(my_str)) # 输出:a

3.类型转换

  • list(容器) 将指定容器转换为列表
  • str(容器) 将指定容器转换为字符串
  • tuple(容器) 将指定容器转换为元素
  • set(容器) 将指定容器转换为集合

4.通用排序

sorted(容器,reverse=True)

  • reverse=True是降序
  • reverse=false是升序
  • 不写reverse,默认false,升序
  • 排序后结果是列表
my_list = [9,2,7,4]
my_dict = {"s":"b","c":"d"}
my_str = "ax3gbsc"
print(sorted(my_list)) # 输出 [2, 4, 7, 9]
print(sorted(my_dict)) # 输出 ['c', 's']
print(sorted(my_str)) # 输出 ['3', 'a', 'b', 'c', 'g', 's', 'x']

print(sorted(my_list, reverse=True)) # 输出 [9, 7, 4, 2]
print(sorted(my_dict, reverse=True)) # 输出 ['s', 'c']
print(sorted(my_str, reverse=True)) # 输出 ['x', 's', 'g', 'c', 'b', 'a', '3']

三、练习题目

1.定义一个列表fruits,其中包含apple、orange和banana三个元素。实现向列表中增加pear元素和在grape元素前插入kiwi元素。删除列表中的orange元素和第一个元素。将第二个元素修改为pineapple,最后遍历输出列表中的所有元素。

'''
1.定义一个列表fruits,其中包含apple、orange和banana三个元素。
实现向列表中增加pear元素和在grape元素前插入kiwi元素。
删除列表中的orange元素和第一个元素。
将第二个元素修改为pineapple,
最后遍历输出列表中的所有元素。
'''
fruits = ["apple","orange","banana"]
fruits.append("pear")
print(fruits) # 输出 ['apple', 'orange', 'banana', 'pear']
fruits.append("grape")
print(fruits) # 输出 ['apple', 'orange', 'banana', 'pear', 'grape']
fruits.insert(fruits.index("grape"),"kiwi")
print(fruits) # 输出 ['apple', 'orange', 'banana', 'pear', 'kiwi', 'grape']
fruits.remove("orange")
print(fruits) # 输出 ['apple', 'banana', 'pear', 'kiwi', 'grape']
fruits[2]="pineapple"
print(fruits) # 输出 ['apple', 'banana', 'pineapple', 'kiwi', 'grape']
for fru in fruits:
    print(fru)

2.定义一个字典student,包含name、age和gender三个键,对应的值分别为Tom、18和male。将score键添加到字典中,对应的值为[80, 90, 85]。删除age键值对,将name键对应的值修改为Alice。使用get方法查找gender和grade对应的值,并输出结果。最后遍历输出字典中的所有键值对。

'''
2.定义一个字典student,包含name、age和gender三个键,对应的值分别为Tom、18和male。
将score键添加到字典中,对应的值为[80, 90, 85]。
删除age键值对,
将name键对应的值修改为Alice。
使用get方法查找gender和grade对应的值,并输出结果。
最后遍历输出字典中的所有键值对。
'''
student = {
    "name": "Tom",
    "age": 18,
    "gender": "male"
}
print(student) # 输出 {'name': 'Tom', 'age': 18, 'gender': 'male'}
student["score"] = [80, 90, 85]
print(student) # 输出 {'name': 'Tom', 'age': 18, 'gender': 'male', 'score': [80, 90, 85]}
student.pop("age")
print(student) # 输出 {'name': 'Tom', 'gender': 'male', 'score': [80, 90, 85]}
student["name"] = "Alice"
print(student) # 输出 {'name': 'Alice', 'gender': 'male', 'score': [80, 90, 85]}
print(student.get("gender")) # 输出 male
print(student.get("grade")) # 输出 None
for stu in student.items():
    print(stu)
    '''
    输出
    ('name', 'Alice')
    ('gender', 'male')
    ('score', [80, 90, 85])
    '''

3.定义一个字符串message,包含Hello, World!这个字符串。求出字符串的长度,并使用切片获取从第7个字符开始到结尾的子串。拼接Hi和Alice两个字符串,生成一个新的字符串sentence。使用find和index方法查找World子串在字符串中的位置,并输出结果。

'''
3.定义一个字符串message,包含Hello, World!这个字符串。
求出字符串的长度,
并使用切片获取从第7个字符开始到结尾的子串。
拼接Hi和Alice两个字符串,生成一个新的字符串sentence。
使用find和index方法查找World子串在字符串中的位置,并输出结果。
'''
message = "Hello, World!"
print(message)# 输出 Hello, World!
print(len(message))# 输出 13
print(message[7:])# 输出 World!
sentence = f"Hi{message}Alice"
print(sentence)# 输出 Hello, World!
sentence = "Hi"+message+"Alice"
print(sentence)# 输出 Hello, World!
print(sentence.find("World"))# 输出 9
print(sentence.index("World"))# 输出 9

4.定义一个列表numbers,包含5、2、8、1和9这5个元素。对列表进行排序,得到一个升序排列的新列表sorted_numbers,并输出结果。

'''
4.定义一个列表numbers,包含5、2、8、1和9这5个元素。
对列表进行排序,得到一个升序排列的新列表sorted_numbers,并输出结果。
'''
numbers = [5,2,8,1,9]
sorted_numbers = sorted(numbers)
print(sorted_numbers)# 输出 [1, 2, 5, 8, 9]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)# 输出 [9, 8, 5, 2, 1]
文章来源:https://blog.csdn.net/qq_35716085/article/details/135360326
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。