列表 list

一、认识列表

1、列表是容器型数据类型

[数据1, 数据2, 数据3, ...]

# 空列表
list1 = []                                             # code 0
# 表示一个比较长的列表的时候,可以在逗号后面换行
list3 = [['张三', 18, 90, '男'],['小明', 20, 100, '男'],['小花', 19, 78, '女']
]                                                       # code 0

2、列表是可变的和有序的

支持增删改查

# 列表和字符串有序
print([10, 20, 30] == [20, 10, 30])     # False
print('abc' == 'bac')                     # False
# 字典和集合无序
print({'a': 10, 'b': 20} == {'b': 20, 'a': 10})     # True
print({10, 20, 30} == {20, 10, 30})                   # True

3、列表内元素

可以是任何类型的数据

# 列表中的元素可以是任何类型的数据
list2 = [10, 3.18, 'abc', True, None, [10, 20]]          # code 0

二、列表的增删改查

1、查

获取列表中的元素

a. 查单个

一次获取一个元素

语法:

列表[下标]

获取列表中指定下标对应的元素

说明:

列表 - 具体的一个列表,或者是保存列表的变量
[] - 固定写法
下标 - 又叫索引,指的是元素在列表中的位置信息
Python中有序序列中每个元素的下标有两个,一个是从前往后从0开始不断加1的下标值;

​ 另外一个是从后往前从-1开始不断减1的下标值

注意:

下标不能越界

nums = [10, 20, 30, 40, 50]
print(nums[1], nums[-4]) # 20 20
print(nums[-2])          # 40
print(nums[0])           # 10
# print(nums[5])         # IndexError: list index out of range
# print(nums[-6])        # IndexError: list index out of range

b. 遍历

按顺序一个一个的获取列表中所有的元素

names = ['挖掘机', '剑圣', '亚索', '劫', '提莫', '鱼人', '火男', '塔姆']
for x in names:print(x)          # 挖掘机# 剑圣# 亚索# 劫# 提莫# 鱼人# 火男# 塔姆

2、增

在列表中添加元素

a. 列表.append(元素)

在指定列表的最后添加指定元素

names = ['鲁班7号', '甄姬', '王昭君', '赵云']
print(names)            # ['鲁班7号', '甄姬', '王昭君', '赵云']names.append('后羿')
print(names)            # ['鲁班7号', '甄姬', '王昭君', '赵云', '后羿']

b. 列表.insert(下标, 元素)

将指定元素插入到列表中指定下标对应的元素的前面

names = ['鲁班7号', '甄姬', '王昭君', '赵云']
print(names)            # ['鲁班7号', '甄姬', '王昭君', '赵云']names.insert(-1, '后羿')
print(names)            # ['鲁班7号', '甄姬', '王昭君', '后羿', '赵云']

3、删

删除元素

a. del 列表[下标]

删除列表中指定下标对应的元素

names = ['鲁班7号', '甄姬', '王昭君', '后羿', '赵云']
print(names)        # ['鲁班7号', '甄姬', '王昭君', '后羿', '赵云']del names[1]
print(names)        # ['鲁班7号', '王昭君', '后羿', '赵云']

b. 列表.remove(元素)

删除列表中第一个指定的元素

names = ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']
print(names)        # ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']names.remove('甄姬')
print(names)        # ['鲁班7号', '王昭君', '甄姬', '后羿', '赵云']

c. 列表.pop()

取走列表最后一个元素并且返回

names = ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']
print(names)        # ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']result = names.pop()
print(names, result) # ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿'] 赵云
列表.pop(下标)

取走列表中指定下标对应的元素并且返回

names = ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']
print(names)        # ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']result = names.pop(2)
print(names, result) # ['鲁班7号', '甄姬', '甄姬', '后羿', '赵云'] 王昭君

4、改

修改某个元素的值

语法:

列表[下标] = 新值

说明:

将指定下标对应的元素修改成新的值

names = ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']
print(names)        # ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']names[-2] = '庄周'
print(names)        # ['鲁班7号', '甄姬', '王昭君', '甄姬', '庄周', '赵云']

三、相关操作和相关函数

1、列表的加法和乘法运算

nums = [10, 20, 30]
result = nums + [100, 200]
print(result)       # [10, 20, 30, 100, 200]result = nums * 3   # nums + nums + nums
print(result)       # [10, 20, 30, 10, 20, 30, 10, 20, 30]

2、in 和 not in

数据 in 列表

判断列表中是否存在指定数据对应的元素

names = ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']
print('赵云' in names)        # True

数据 not in 列表

判断列表中是否不存在指定数据对应的元素

names = ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']
print('陈咬金' not in names)  # True

3、len(列表)

获取列表的长度(获取列表中元素的个数)

names = ['鲁班7号', '甄姬', '王昭君', '甄姬', '后羿', '赵云']
print(len(names))       # 6
print(len('abcd'))      # 3

4、sum(列表)

求列表中所有元素的和(列表中的元素必须全部是数字)

nums = [10, 20, 30]
print(sum(nums))        # 60
print(sum(range(101)))  # 5050

5、max(列表)、min(列表)

求最大值\最小值

scores = [19, 1.2, 90, 78, 2.3, 100, 55]
print(max(scores))      # 100
print(min(scores))      # 1.2

6、sorted函数

变量 = sorted(列表)

将列表中的元素从小到大排序(升序)产生一个新的列表保存到指定的变量中

scores = [19, 1.2, 90, 78, 2.3, 100, 55]
new_scores = sorted(scores)
print(new_scores)       # [1.2, 2.3, 19, 55, 78, 90, 100]

变量 = sorted(列表, reverse=True)

将列表中的元素从大到小排序(降序)产生一个新的列表保存到指定的变量中

scores = [19, 1.2, 90, 78, 2.3, 100, 55]
new_scores = sorted(scores, reverse=True)
print(new_scores)       # [100, 90, 78, 55, 19, 2.3, 1.2]

字典 dict

一、认识字典

1、字典是容器型数据类型

{键1:值1, 键2:值2, 键3:值3,...}

# 空字典
dict1 = {} # code 0
# 如果需要同时保存多个意义不同的数据的时候,字典比列表更好用
student1 = ['小明', 30, 170, 67, 89, '男']
student2 = {'name': '小明', 'age': 30, 'height': 170, '体重': 67, 'score': 89, 'gender': '男'}      # code 0

2、字典是可变的和无序的

支持增删改查

# 字典是无序的、顺序不影响结果;不支持下标操作
print({'a': 10, 'b': 20} == {'b': 20, 'a': 10})     # True

3、字典的元素必须是键值对

字典的键必须是不可变类型的数据(可以是数字、布尔、空值、字符串、元组,一般用字符串),但是值可以是任何类型的数据

# 字典的键必须是不可变类型的数据
dict2 = {10: 20, 'a': 30}# dict3 = {10: 20, 'a': 30, [10, 20]: 40}       # 报错

二、字典的查

获取值

1、字典[键]

获取字典中指定键对应的值;如果键不存在会报错

student = {'name': '小明', 'age': 30, 'height': 170, '体重': 67, 'score': 89, 'gender': '男'}print(student['name'])                 # 小明# print(student['专业'])           # KeyError: '专业'  code 1

2、字典.get(键)

获取字典中指定键对应的值;如果键不存在不会报错并且返回None

student = {'name': '小明', 'age': 30, 'height': 170, '体重': 67, 'score': 89, 'gender': '男'}print(student.get('name'))             # 小明

字典.get(键, 默认值)

获取字典中指定键对应的值;如果键不存在返回默认值

student = {'name': '小明', 'age': 30, 'height': 170, '体重': 67, 'score': 89, 'gender': '男'}print(student.get('name'))            # 小明
print(student.get('score', 0))      # 89print(student.get('id'))            # None
print(student.get('id', '001'))     # 001

三、实际生活中的字典

案例:

定义一个变量保存一个班级的信息

班级信息包括:班级名称、位置、讲师、班主任、所有学生

class1 = {'name': 'Python2206','address': '14教','lecturer': {'name': '余','age': 18,'qq': '7265508222'},'class_teacher': {'name': '吴','age': 18,'tel': '1111'},'all_student': [{'name': 'stu1', 'age': 20, 'gender': '男', 'tel': '11987223', 'linkman': {'name': '张三', 'tel': '81923'}},{'name': 'stu2', 'age': 22, 'gender': '女', 'tel': '8293212', 'linkman': {'name': '小明', 'tel': '6666'}},{'name': 'stu3', 'age': 25, 'gender': '女', 'tel': '727332', 'linkman': {'name': '李四', 'tel': '829333'}},{'name': 'stu4', 'age': 19, 'gender': '男', 'tel': '563743', 'linkman': {'name': '老王', 'tel': '778822'}},{'name': 'stu5', 'age': 23, 'gender': '男', 'tel': '0928322', 'linkman': {'name': '赵六', 'tel': '829101'}}]
}

1、获取班级名称

print(class1['name'])                      # Python2206

2、打印讲师的名字

print(class1['lecturer']['name'])            # 余

3、打印班主任的电话

class_teacher = class1['class_teacher']
print(class_teacher['tel'])                   # 1111

4、打印所有学生的名字

students = class1['all_student']
for stu in students:print(stu['name'])                        # stu1# stu2# stu3# stu4# stu5

5、打印所有女同学的名字和电话

students = class1['all_student']
for stu in students:if stu['gender'] == '女':print(stu['name'], stu['tel'])        # stu2 8293212# stu3 727332

6、打印所有男生的联系人名字

students = class1['all_student']
for stu in students:if stu['gender'] == '男':linkman = stu['linkman']print(linkman['name'])               # 张三# 老王# 赵六

字符串 str

一、认识字符串

1、字符串是容器型数据类型

' ' " "

str1 = 'abc'
print(str1)                         # abc

2、引号中的每个符号是字符串的元素

字符串的元素又叫字符

str2 = 'abc,123你好												

2022.11.17Python语法基础列表、字典、字符串相关推荐

  1. 2022.11.15Python语法基础

    基础语法 注释 代码中不会被翻译成机器码的部分(不影响程序功能的部分) 单行注释: 在一行内容前加#让这行内容变成注释 添加和取消注释快捷键:ctr+/ # 注释内容 print('hello wor ...

  2. python测试题 - 列表,字典,字符串

    1,如何实现"1,2,3"变成['1','2','3']? 如何实现['1','2','3']变成[1,2,3]? a = '1,2,3' print(a.split(',')) ...

  3. python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  4. python列表添加字符串_2.python基础之—列表,元组,字典,集合,字符串的使用方法...

    一.关于python序列的简介. python里面的序列大部分都可以执行,索引,切片,加,乘,检查长度,以及检查某个成员是否存在,甚至还可以找出这个序列中最小的元素和最大的元素,并且序列都是可迭代的. ...

  5. Python同Java同Js语言语法区别之四判断字符串列表字典是否相等

    字符串列表字典是否相等 前言 Python 字符串or数字 列表 字典 总结 Java 字符串 数组 Map 总结 JS 字符串 数组 对象 总结 前言 作为一枚测开工程师,需要的技能是全栈的,项目中 ...

  6. python列表添加元素的三种方法定义集合数据对象_(1) List,tuple,dictionary,Python语法基础集,一,之,列表,元组,字典,集合...

    Python序列(列表.元组.字典.集合) 一.列表(List)与列表推导式 (一)列表(list) 1.列表是Python内置 可变序列 (列表中元素可增加删除或修改): 2.列表元素放在一对中括号 ...

  7. 13.Python基础—列表、元组、字典、字符串(2)

    主要内容 列表 元组 字典 字符串 公共方法 三. 字典 3.1 字典的定义 dictionary(字典) 是 除列表以外 Python 之中 最灵活 的数据类型 字典同样可以用来 存储多个数据 通常 ...

  8. Python基础day03【字符串(定义、输入输出、常用方法)、列表(定义、基本使用、增删改查、嵌套)、元组】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day3 作业解析[5道 字符串题.3道 列表题.2道 元组题]      学习目 ...

  9. Python编程基础——序列:字符串、列表和元组

    一.简介 Python序列指:它们的成员是有序排列的,并且可以通过下标偏移量访问到它的一个或者几个成员.包括:字符串(普通字符串和unicode字符串).列表.和元组类型.        因为这些类型 ...

最新文章

  1. 【Groovy】map 集合 ( map 集合操作符重载 | *. 展开操作符 | 代码示例 )
  2. 【问链-Eos公开课】第四课 EOS 的钱包创建、导入私钥
  3. Durid数据库连接池设置ConnectionInitSqls参数解决数据库设置编码utf8mb4
  4. [python爬虫] 招聘信息定时系统 (一).BeautifulSoup爬取信息并存储MySQL
  5. winxp 安装apache php,WinXP-Apache-PHP5-MySQL-phpMyAdmin环境安装
  6. vue js前端根据所需参数生成二维码并下载
  7. mysql的传播特性_spring事务传播特性和mysql事务隔离级别
  8. android图片适配到裁剪框,Android图片剪裁-调用系统实现,完美适配魅族等机型
  9. 外部表在Hive中的使用
  10. Macaron的注入struct
  11. ABAP 常用FUNCTION (最近工作中用到的)
  12. WebRTC入门知识
  13. 即学即用的30个python常用代码
  14. windows 10 Docker Desktop TeamTalk 安装笔记
  15. 115套精品简历.zip
  16. 两幅图像幅度谱和相位谱替换
  17. 封装pc端获取经纬度 百度地图
  18. 服务器2003系统安装office,简单3步处理office 2003安装出错
  19. Nova的安装与配置
  20. 加快C++代码的编译速度方法

热门文章

  1. java mysql重连_java mysql
  2. java中StringBuilder清空效率比较
  3. iOS 沙盒机制,沙盒存储,钥匙串
  4. iPhone 字体显示效果大全
  5. oracle函数集中总结
  6. RK3568-Android12 关于去掉安装apk时提示“来历不明的。。。”和“出于安全。。。”的修改方法
  7. vue系列之----项目在ie浏览器中空白
  8. 怎样压缩PDF文件?
  9. Formily 学习2 (Rxjs 知识)
  10. 电脑屏幕提示“输入不支援”怎么办?