Python学习-day14(数据容器的总结对比,数据容器的通用操作,字符串大小比较的方式)

数据容器的总结对比:

列表的定义是:[]

元组的定义是:()

字符串的定义是:""

集合的定义是:{}

字典的定义是:{key:value}

数据容器的通用操作

1.遍历方式:

五类数据容器都支持for循环遍历。

集合和字典不支持while循环遍历,其他三个都支持。不支持的原因是,无法通过下标索引访问容器。

但都支持遍历操作。

2.统计容器的元素个数:

语法结构

len(容器)

示例:
my_list=[1,2,3,4,5,6]
my_tuple=(1,2,3,4,5,6)
my_str="abcdefg"
my_set={1,2,3,4,5,6}
my_dict={"key1":1,"key2":2,"key3":3,"key4":4,"key5":5,"key6":6}
#计算元素个数
print(f"列表 元素个数有:{len(my_list)}")
print(f"元组 元素个数有:{len(my_tuple)}")
print(f"字符串 元素个数有:{len(my_str)}")
print(f"集合 元素个数有:{len(my_set)}")
print(f"字典 元素个数有:{len(my_dict)}")

结果:

 列表 元素个数有:6
元组 元素个数有:6
字符串 元素个数有:7
集合 元素个数有:6
字典 元素个数有:6

3.统计容器的最大元素和最小元素

语法结构:

max(容器)

min(容器)

示例:
#最大最小函数
print(f"列表\t\t最大元素:{max(my_list)}\t\t最小元素:{min(my_list)}")
print(f"元组\t\t最大元素:{max(my_tuple)}\t\t最小元素:{min(my_tuple)}")
print(f"字符串\t最大元素:{max(my_str)}\t\t最小元素:{min(my_str)}")
print(f"集合\t\t最大元素:{max(my_set)}\t\t最小元素:{min(my_set)}")
print(f"字典\t\t最大元素:{max(my_dict)}\t最小元素:{min(my_dict)}")

结果:

 列表        最大元素:6        最小元素:1
元组        最大元素:6        最小元素:1
字符串    最大元素:g        最小元素:a
集合        最大元素:6        最小元素:1
字典        最大元素:key6    最小元素:key1

4.容器的通用转换函数

示例:
#类型转换,容器转列表
print(f"列表转列表的结果是:{list(my_list)}")
print(f"元组转列表的结果是:{list(my_tuple)}")
print(f"字符串转列表的结果是:{list(my_str)}")#字符串转列表,把每个字符都取出来,放在列表中作为单独元素
print(f"集合转列表的结果是:{list(my_set)}")
print(f"字典转列表的结果是:{list(my_dict)}")#舍掉value值,只剩Key放在列表中
#容器转元组
print(f"列表转元组的结果是:{tuple(my_list)}")
print(f"元组转元组的结果是:{tuple(my_tuple)}")
print(f"字符串转元组的结果是:{tuple(my_str)}")#把每个字符都取出来,放在列表中作为单独元素
print(f"集合转元组的结果是:{tuple(my_set)}")
print(f"字典转元组的结果是:{tuple(my_dict)}")#舍掉value值,只剩Key放在列表中
#容器转字符串
print(f"列表转字符串的结果是:{str(my_list)}")#"[1, 2, 3, 4, 5, 6]"输出的时候把双引号给去掉了
print(f"元组转字符串的结果是:{str(my_tuple)}")#"(1, 2, 3, 4, 5, 6)"
print(f"字符串转字符串的结果是:{str(my_str)}")
print(f"集合转字符串的结果是:{str(my_set)}")#"{1, 2, 3, 4, 5, 6}"
print(f"字典转字符串的结果是:{str(my_dict)}")
#容器转集合
print(f"列表转集合的结果是:{set(my_list)}")
print(f"元组转集合的结果是:{set(my_tuple)}")
print(f"字符串转集合的结果是:{set(my_str)}")#体现了数据的无序性
print(f"集合转集合的结果是:{set(my_set)}")
print(f"字典转集合的结果是:{set(my_dict)}")#将value舍去,无序性
#其他数据容器不能转换为字典,因为缺少键值数据

结果:

列表转列表的结果是:[1, 2, 3, 4, 5, 6]
元组转列表的结果是:[1, 2, 3, 4, 5, 6]
字符串转列表的结果是:['a', 'b', 'c', 'd', 'e', 'f', 'g']
集合转列表的结果是:[1, 2, 3, 4, 5, 6]
字典转列表的结果是:['key1', 'key2', 'key3', 'key4', 'key5', 'key6']
列表转元组的结果是:(1, 2, 3, 4, 5, 6)
元组转元组的结果是:(1, 2, 3, 4, 5, 6)
字符串转元组的结果是:('a', 'b', 'c', 'd', 'e', 'f', 'g')
集合转元组的结果是:(1, 2, 3, 4, 5, 6)
字典转元组的结果是:('key1', 'key2', 'key3', 'key4', 'key5', 'key6')
列表转字符串的结果是:[1, 2, 3, 4, 5, 6]
元组转字符串的结果是:(1, 2, 3, 4, 5, 6)
字符串转字符串的结果是:abcdefg
集合转字符串的结果是:{1, 2, 3, 4, 5, 6}
字典转字符串的结果是:{'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4, 'key5': 5, 'key6': 6}
列表转集合的结果是:{1, 2, 3, 4, 5, 6}
元组转集合的结果是:{1, 2, 3, 4, 5, 6}
字符串转集合的结果是:{'b', 'd', 'a', 'c', 'f', 'e', 'g'}
集合转集合的结果是:{1, 2, 3, 4, 5, 6}
字典转集合的结果是:{'key6', 'key5', 'key3', 'key1', 'key4', 'key2'}

5.容器通用功能排序 

语法结构:

sorted(容器,[reverse=true])

示例:

#进行容器的排序
my_list=[3,1,2,5,4]
my_tuple=(3,1,2,5,4)
my_str="bdcefga"
my_set={3,1,2,5,4}
my_dict={"key3":1,"key1":2,"key2":3,"key5":4,"key4":5}

print(f"列表对象的排序结果:{sorted(my_list)}")
print(f"元组对象的排序结果:{sorted(my_tuple)}")
print(f"字符串对象的排序结果:{sorted(my_str)}")
print(f"集合对象的排序结果:{sorted(my_set)}")
print(f"字典对象的排序结果:{sorted(my_dict)}")
#排序后会变成列表,字典的排序会舍弃value

print(f"列表对象的排序结果:{sorted(my_list,reverse=True)}")
print(f"元组对象的排序结果:{sorted(my_tuple,reverse=True)}")
print(f"字符串对象的排序结果:{sorted(my_str,reverse=True)}")
print(f"集合对象的排序结果:{sorted(my_set,reverse=True)}")
print(f"字典对象的排序结果:{sorted(my_dict,reverse=True)}")

结果:

列表对象的排序结果:[1, 2, 3, 4, 5]
元组对象的排序结果:[1, 2, 3, 4, 5]
字符串对象的排序结果:['a', 'b', 'c', 'd', 'e', 'f', 'g']
集合对象的排序结果:[1, 2, 3, 4, 5]
字典对象的排序结果:['key1', 'key2', 'key3', 'key4', 'key5']
列表对象的排序结果:[5, 4, 3, 2, 1]
元组对象的排序结果:[5, 4, 3, 2, 1]
字符串对象的排序结果:['g', 'f', 'e', 'd', 'c', 'b', 'a']
集合对象的排序结果:[5, 4, 3, 2, 1]
字典对象的排序结果:['key5', 'key4', 'key3', 'key2', 'key1']

6.总结

字符串的比较大小 

字符串的比较依照ASCII码值。

参考这个博客:

Python学习-day3(二进制与字符编码,标识符和保留字,变量的定义和使用)_去码头整点薯条0.o?的博客-CSDN博客

0-9:47-58

a-z:97-122 

A-Z:  65-90

按位比较

如果已经比较出来一位,那就不再继续比较了。

示例:

# 学校:南京工程学院
# 专业:数字媒体技术 #姓名:李俊杰
# 开发时间:2023/10/5 22:51
#abc和abd比较
print(f"abc大于abc,结果:{'abd'>'abc'}")
#a比较ab
print(f"ab大于a,结果:{'ab'>'a'}")
#a比较A
print(f"a大于A,结果:{'a'>'A'}")
#key1比较key2
print(f"key2大于key1,结果:{'key2'>'key1'}")

结果:

abc大于abc,结果:True
ab大于a,结果:True
a大于A,结果:True
key2大于key1,结果:True


不积跬步无以至千里,不积小流无以成江海。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值