python基础之列表和字典的定义与操作

1.列表

1.列表的定义:

定义:一种将多个数据组合在一起的容器

标识符:

关键字:list

定义一个空列表

python 复制代码
lst1 = []

定义一个有值的列表,每个元素之间用英文的逗号隔开

python 复制代码
lst2 = [1, 2, 3, 4]

获取列表的类型:

python 复制代码
lst2 = [1, 2, 3, 4]  # 定义一个有值的列表,每个元素之间用英文的逗号隔开

print(type(lst2))  # <class 'list'>

2.列表的增删改查操作:

特征:有序、可变

有序:列表中的每个元素都是有索引(python中的索引,都是默认从 0 开始)

列表的取值语法:列表的变量名称索引的值

python 复制代码
lst1 = [1, 2, 3, 4, 5]
print(lst1[3])  # 4

获取列表的长度 -- len()

python 复制代码
lst1 = [1, 2, 3, 4, 5]  # 有几个元素,那么len长度就是多少
print(len(lst1))

列表可以倒叙输出 -- reverse()

python 复制代码
lst1.reverse()  # 先执行方法完成倒叙
print(lst1)  # 然后再去查询

例题:lst3 = 100, 3.14, True, "qsdd", \[1, 2, 3, 4]

问列表的长度是多少 长度为5 但是是列表的嵌套

问题:lst3的长度为?

python 复制代码
lst3 = [100, 3.14, True, "秋殇大大", [1, 2, 3, 4], [1, 2, 3, 4, [1, 2, 3, 4], [1, 2, 3, 4]]]
# 快捷的查看方式:数括号,括号是一一对应的,从最外层开始数
print(len(lst3))

列表的添加

列表的增加

-- append() 会把添加的值,默认加在末尾,一次只能添加一个元素

python 复制代码
lst1 = [1, 2]
lst1.append("qsdd")
print(lst1)

# 错误示例:
lst1.append("qsdd", "wwwww")  # list.append() takes exactly one argument (2 given)

列表的添加 -- insert(),通过索引来进行添加,添加的位置就是索引的位置,原有位置元素下标会依次加一

python 复制代码
lst1 = [1, 2]
lst1.insert(0, "qsdd")
print(lst1)

合并列表 -- extend() 把元素一个个的放入到新的列表中

python 复制代码
lst1 = [1, 2]
lst2 = [2, 3, 4, 5]

# print(lst1 + lst2)  # 不建议在企业中,写法太低级,看起来像是加法运算

lst1.extend(lst2)
print(lst1)

注意:数字不能迭代,bool值也不能进行迭代

列表的删除

列表的删除 -- remove() 直接删除具体的值,如果存在多个的话,默认删除最前的那个

python 复制代码
lst1 = [1, 2]
lst2 = [2, 3, 4, 5, 2]

# lst1.remove(2)
# print(lst1)

# 问题:通过remove删除lst2中的值2 ,那么会删除前面的还是后面的
lst2.remove(2)
print(lst2)

列表的删除 -- pop() 不带下标,默认删除最后一个,带下标删除具体的值

列表的修改

列表的修改 -- 列表的变量名称下标 = 新值

python 复制代码
lst3 = [100, 3.14, True, "qsdd", [1, 2, 3, 4]]

# 问题1:把 True 改为False?
# lst3[2] = False
# print(lst3)  # [100, 3.14, False, 'qsdd', [1, 2, 3, 4]]

# 问题2:把 3 改为 10 ?
lst3[4][2] = 10
print(lst3)  # [100, 3.14, True, 'qsdd', [1, 2, 10, 4]]

字典

字典的定义:

定义:具有键值对映射关系的一组无序的数据组合

键值对映射: key : value -- key是键名,value是这个键所对应的具体值,通过key来查询

关键字:dict

标识符:{}

无序:没有索引 一个字典里的key不会重复

key:是唯一的,并且不能修改的数据,通常我们用str类型

value: 可以是任何类型的数据,可以修改

定义一个空字典

python 复制代码
dic1 = {}

定义一个有值的字典

python 复制代码
dic2 = {
    "name": "qsdd",
    "age": 18,
    "cls": 234,
    "students_name": ["二师兄", "千寻", "听风、", "自由"]
}

字典的查询 -- 字典的变量名称"key"

python 复制代码
dic2 = {
    "name": "qsdd",
    "age": 18,
    "cls": 234,
    "students_name": ["二师兄", "千寻", "听风、", "自由"]
}

print(dic2["students_name"])  # ['二师兄', '千寻', '听风、', '自由']

字典的增删改操作:

字典的新增 -- 字典的变量名称"字典中不存在的key" = 新值

python 复制代码
dic2 = {
    "name": "qsdd",
    "age": 18,
    "cls": 234,
    "students_name": ["二师兄", "千寻", "听风、", "自由"]
}

dic2['addr'] = "湖南长沙"
print(dic2)  # {'name': 'qsdd', 'age': 18, 'cls': 234, 'students_name': ['二师兄', '千寻', '听风、', '自由'], 'addr': '湖南长沙'}

字典的修改 -- 字典的变量名称"字典中存在的key" = 新值

python 复制代码
dic2 = {
    "name": "qsdd",
    "age": 18,
    "cls": 234,
    "students_name": ["二师兄", "千寻", "听风、", "自由"]
}

dic2['age'] = 20
print(dic2)

问题:把 自由 的值,改为 小玉 ?

python 复制代码
dic2 = {
    "name": "七夜老师",
    "age": 18,
    "cls": 234,
    "students_name": ["二师兄", "千寻", "听风、", "自由"]
}

dic2["students_name"][3] = "小玉"
print(dic2)

字典的删除 -- pop() 不能为空,需要传入删除的key

python 复制代码
dic2 = {
    "name": "qsdd",
    "age": 18,
    "cls": 234,
    "students_name": ["二师兄", "千寻", "听风、", "自由"]
}

dic2.pop("age")
print(dic2)  # {'name': 'qsdd', 'cls': 234, 'students_name': ['二师兄', '千寻', '听风、', '自由']}

字典的删除 -- popitem() 从后往前删出

python 复制代码
dic2 = {
    "name": "qsdd",
    "age": 18,
    "cls": 234,
    "students_name": ["二师兄", "千寻", "听风、", "自由"]
}

dic2.popitem()
print(dic2)  # {'name': 'qsdd', 'age': 18, 'cls': 234}

字典的清空 -- clear()

相关推荐
麻雀飞吧5 小时前
先判断工具用来学习、开发还是执行
人工智能·python
人邮异步社区5 小时前
学习Python的最佳学习路径是什么?
python·程序员
C++ 老炮儿的技术栈6 小时前
我们在设计tcp协议时,要传一个字符串过去,报文:头十长度十内容,是否要把‘\0‘也填入,长度是否包含‘\0‘
开发语言·数据结构·c++·mfc·c
传奇开心果编程6 小时前
【Rust入门练中学】第2课:变量、可变性与常量
开发语言·学习·rust
zr想努力6 小时前
从0开始配置Perforce4环境
开发语言
troy1288 小时前
Python 基础语法(九):Django/Flask/FastAPI 三大 Web 框架详细对比解析
python·jupyter·django·flask·github·fastapi
jzshmyt8 小时前
我用 Python 从零“生成“了一个宇宙,然后让它观察自己(v14)
人工智能·pytorch·python·numpy·matplotlib·空间计算·scipy
幸运小圣8 小时前
PointerEvent 常用属性与事件整理【JavaScript】
开发语言·javascript·ecmascript
长谷深风1118 小时前
评测AI Agent:三种裁判各司其职
java·大数据·开发语言·人工智能·ai agent
边境悍匪8 小时前
蜗牛学苑 Java 智能体学习 Day42|项目周开发技术汇总 1 思维导图复盘
java·开发语言·spring boot·学习·spring