day05-容器型数据类型

1.列表的相关操作

1.列表的加法和乘法

1)加法: list1 + lsit2 – 将两个列表合并

list1 = [10, 20]
list2 = [30, 40]
print(list1 + list2)  # [10, 20, 30, 40]

1)乘法: list * N – 将列表重复N次产生新列表

print(list1 * 3)  # [10, 20, 10, 20, 10, 20]

in 和 not in

语法:
数据 in 列表 – 判断列表中存在对应元素
数据 not in 列表 – 判断列表中不存在对应元素

print(10 in list1)  # True
print(10 not in list1)  # False

2.相关函数

1)max(列表) min(列表)

list1 = [10, 230, 45, 670, 91]
print(max(list1), min(list1))  # 670 10

2)sorted(列表) – 升序排序
sorted(列表, reverse=True) – 降序排序

print(sorted(list1))  # [10, 45, 91, 230, 670]
print(sorted(list1, reverse=True))  # [670, 230, 91, 45, 10]

3)len(列表) – 获取列表长度

print(len(list1))  # 5

4)list(数据) – 将指定数据转换成列表,数据必须是序列
所有的序列都可以转换成为列表,序列中的元素就是列表中的元素

print(list('abc'))  # ['a', 'b', 'c']
print(list(range(5)))  # [0, 1, 2, 3, 4]

2.字典

字典 – 通过键值对保存数据
需要同时保存多个意义不同的数据就使用字典,保存意义相同数据的时候就用列表

stu = {'name': '小明', 'age': 18, '身高': 178, '体重': 130}
print(stu['name'])  # 小明
print(stu['age'])  # 18

什么是字典(dict)

容器:将{}作为容器的标志,里面多个键值对用 ’,‘ 隔开 – {key1: vale1, key2: value2, key3: value3 …}
字典是可变的(支持增删改查)
字典是无序的(顺序不影响结果;不支持索引操作)
key的要求:

a.不可变类型的数据(数字,字符串,bool,None,元组),一般使用使用字符串作为key。
b.key在字典中是唯一的
value的要求:

没有要求(可以是任何类型,可以重复)

# 空字典
dict1 = {}
# 字典的无序性
print({'a': 1, 'b': 2} == {'b': 2, 'a': 1})  # True
# 键的特性
dict2 = {1: 10, '1': 10, True: False, None: "空"}
print(dict2)  # {1: False, '1': 10, None: '空'}
# dict2 = {1: 10, '1': 10, True: False, None: "空", [10, 20]: 10}  # TypeError: unhashable type: 'list'
# 键是唯一的
dict4 = {'a': 10, 'b': 20, 'c': 30}
print(dict4)  # {'a': 10, 'b': 20, 'c': 30}
dict5 = {'a': 10, 'b': 20, 'c': 30, 'a': 50}
print(dict5)    # {'a': 50, 'b': 20, 'c': 30}

查字典 – 获取字典的值

查单个 – 一个一个获取字典的值
a. 字典[键] - 获取字典中指定键对应的值,键不存在会报错
b. 字典.get(键) - 获取字典中指定键对应的值,键不存在会返回None
字典.get(键, 默认值) - 获取字典中指定键对应的值,键不存在会返回默认值
区别: 要不存在的键表现不同

dog = {'name': "旺财", 'age': 3, 'breed': "土狗", 'color': "黄色", 'gender': "母狗"}
print(dog['age'])  # 3
print(dog['gender'])  # 母狗

print(dog.get('age'))  # 3 
print(dog.get('gender'))  # 母狗

遍历 – 一个一个得获取所有值

for 变量 in 字典:
循环体(变量依次取到的是字典的键)

dog = {'name': "旺财", 'age': 3, 'breed': "土狗", 'color': "黄色", 'gender': "母狗"}
for i in dog:
    print(i, dog[i])  #  name 旺财 age 3 breed 土狗 color 黄色 gender 母狗

  1. 1)字典[键] = 值 – 如果键不存在就往字典中添加键值对
dog = {'name': "旺财", 'age': 3, 'breed': "土狗", 'color': "黄色", 'gender': "母狗"}
print(dog)  # {'name': "旺财", 'age': 3, 'breed': "土狗", 'color': "黄色", 'gender': "母狗"}
dog['weight'] = 10
print(dog)  # {'name': '旺财', 'age': 3, 'breed': '土狗', 'color': '黄色', 'gender': '母狗', 'weight': 10}

​ 2)字典.setdefault(键, 值) – 在字典中添加键值对(键如果存在,不会修改键对应的值)

dog = {'name': "旺财", 'age': 3, 'breed': "土狗", 'color': "黄色", 'gender': "母狗"}
dog.setdefault('weight', 10)
print(dog)  # {'name': '旺财', 'age': 3, 'breed': '土狗', 'color': '黄色', 'gender': '母狗', 'weight': 10}
dog.setdefault('weight', 20)
print(dog)  # {'name': '旺财', 'age': 3, 'breed': '土狗', 'color': '黄色', 'gender': '母狗', 'weight': 10}
  1. 1)字典[键] = 值 – 如果键存在,就修改键对应的值

dog = {'name': "旺财", 'age': 3, 'breed': "土狗", 'color': "黄色", 'gender': "母狗"}
print(dog)  # {'name': '旺财', 'age': 3, 'breed': '土狗', 'color': '黄色', 'gender': '母狗'}

dog['age'] = 20
print(dog)  # {'name': '旺财', 'age': 20, 'breed': '土狗', 'color': '黄色', 'gender': '母狗'}

删 – 删除键值对
1) del 字典[键] – 删除字典中指定的键对应的键值对

dog = {'name': "旺财", 'age': 3, 'breed': "土狗", 'color': "黄色", 'gender': "母狗"}
print(dog)  # {'name': '旺财', 'age': 3, 'breed': '土狗', 'color': '黄色', 'gender': '母狗'}
del dog['name']
print(dog)  # {'age': 3, 'breed': '土狗', 'color': '黄色', 'gender': '母狗'}
  1. 字典.pop(键) – 取走字典中指定键对应的值
dog = {'name': "旺财", 'age': 3, 'breed': "土狗", 'color': "黄色", 'gender': "母狗"}
print(dog)  # {'name': '旺财', 'age': 3, 'breed': '土狗', 'color': '黄色', 'gender': '母狗'}

result = dog.pop('name')
print(dog)  # {'age': 3, 'breed': '土狗', 'color': '黄色', 'gender': '母狗'}
print(result)  # 旺财

3.字符串和元组

  1. 字符串

容器: 将 “” 或者 ‘’ 作为容器的标志,里面的每一个符号就是字符串的元素
字符串不可变;字符串是有序的;支持索引操作
元素:字符串的元素有叫字符,分为普通字符和转义字符
普通字符:写的什么就打印什么
转义字符:以 \ 开头,带有特殊意义的字符

# 'abc' : 普通字符
# '\n' : 转义字符

字符串操作
字符串获取元素的方法和列表一样

msg = "hello world!"
for i in msg:
    print(i)
print(msg[-1])  # !

元组
元组就是不可变的列表(元素1, 元素2, 元素3, …)

# 元组的定义
tulpe1 =(1, 22, 45, 90)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值