Python-列表、元组、字典

73 篇文章 0 订阅

1.列表

1.1列表的定义

  • List(列表)python中使用 最频繁 的数据类型,在其他语言中通常叫做 数组

  • 专门用于存储一串 信息

  • 列表用[ ]定义,数据之间使用分隔

  • 列表的 索引 从0开始,索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标

注意:从列表中取值时,如果 超出索引范围,程序会报错

1.2列表的常用操作

对某一个函数的功能不清楚时,在pycharm中选中,按CTRL + Q键,即可查看。

序号

分类

关键字/函数/方法

说明

1

增加

列表.insert(索引,数据)

在指定位置插入数据

列表.append(数据)

在末尾追加数据

列表.extend(列表2)

在列表2的数据追加到列表1

2

修改

列表[索引]=数据

修改指定索引的数据

3

删除

del列表[索引]

删除指定索引的数据(从内存中删除),建议使用列表提供的方法

列表.remove[数据]

删除第一个出现的指定数据

列表.pop

删除末尾数据

列表.pop(索引)

删除指定索引数据

列表.clear

清空列表

4

统计

len(列表)

列表长度

列表.count(数据)

数据在列表中出现的次数

5

排序

列表.sort()

升序排序

列表.sort(reverse=True)

降序排序

列表.reverse()

逆序、反转

name_list = ["zhangsan", "lisi", "wangwu"]

# 1.取值和取索引
# list index out of range - 列表超出索引范围
print(name_list[2])

# 知道数据的内容,想确定数据在列表中的位置
# 使用index方法需要注意,如果传递的数据不在列表中,程序会报错
print(name_list.index("lisi"))

# 2.修改
name_list[1] = "lisa"
# IndexError: list assignment index out of range
# 列表指定的索引超出范围,程序会报错
# name_list[3] = "lisasa"

# 3.增加
# append 方法可以向列表的末尾追加数据
name_list.append("xiaowang")
# insert 方法可以在列表的指定索引位置插入数据
name_list.insert(1,"xw")

# extend 方法可以把其他列表中的完整内容,追加到当前列表的末尾
temp_list = ["sun","zhu","sha"]
name_list.extend(temp_list)

# 4.删除
# remove 方法可以从列表中删除指定的数据
name_list.remove("wangwu")
# pop 方法默认可以把列表中最后一个元素删除
name_list.pop()
# pop 方法可以指定要删除元素的索引
name_list.pop(3)
# clear 方法可以清空列表
name_list.clear()

print(name_list)

1.3关键字、函数和方法

1.3.1关键字

关键字python内置的,具有特殊意义的标识符关键字后面不需要使用括号

import keyword
print(keyword.kwlist)
print(len(keyword.kwlist))

1.3.2函数

函数封装了独立功能,可以直接调用

函数需要死记硬背

函数名(参数)

1.3.3方法

方法函数类似,同样是封装了独立的功能

方法 需要通过 对象 来调用,表示针对这个 对象 要做的操作

对象 可以简单的理解为变量名

对象.方法名(参数)
num_list = [6, 8, 4, 1, 10]
# 对象.方法名(参数)
num_list.sort()
num_list.sort(reverse=True)

# 函数名(参数)
print(num_list)

1.4循环遍历

遍历 就是 从头到尾 依次 列表 中获取数据,在 循环体内部 针对 每一个元素,执行相同的操作

python中为了提高列表的遍历效率,专门提供的 迭代iteration遍历

使用for就能实现迭代遍历:

# for 循环内部使用的变量 in 列表
for  name in name_list:

    循环内部针对列表元素进行操作
    print(name)
name_list = ["张三", "李四", "王五", "王小二"]
for my_name in name_list:

    print("我的名字叫 %s" % my_name)

1.5应用场景

尽管python的列表中可以存储不同类型的数据,但是在开发中,更多的应用场景是

  • 列表存储相同类型的数据

  • 通过迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作

2.元组

2.1元组的定义

  • Tuple(元组)与列表相似,不同之处在于元组的 元素不能修改元组 表示多个元素组成的序列,元组python开发中,有特定的应用场景

  • 用于存储一串信息,数据之间使用分隔

  • 元组用()定义

  • 元组的 索引0开始,索引就是数据在 元组 中的位置编号

  • 元组中通常保存的数据类型是不同的!

2.1.1元组的创建

info_tuple = ("zhangsan", 18, 1.75)

2.1.2空元组

info_tuple = ()

2.1.3只包含一个元素

元组中 只包含一个元素时,需要 在元素后面添加逗号

info_tuple = (5,)

2.2元组的常用操作

info_tuple = ("zhangsan", 18, 1.75, "zhangsan")

# 1.取值和取索引
print(info_tuple[0])
# 已经知道数据的内容,希望知道该数据在远组中的索引
print(info_tuple.index("zhangsan"))

# 2.统计计数
print(info_tuple.count("zhangsan"))

# 统计元组中包含元素的个数
print(len(info_tuple))

2.3循环遍历

  • 取值 就是从 元组 中获取存储在指定位置的数据

  • 遍历 就是 从头到尾 依次元组 中获取数据

  • python中,可以使用for循环遍历所有非数字型类型的变量:列表、元组、字典及字符串

  • 提示:在实际开发中,除非 能够确认元组中的数据类型,否则针对元组的循环遍历需求并不是很多,因为元组中通常保存的数据类型是不同的。

#for 循环内部使用的变量 in 元组
for item in info:

    循环内部针对元组元素进行操作
    print(item)
info_tuple = ("zhangsan", 18, 1.75)

# 使用迭代遍历元组
for my_info in info_tuple:

    # 使用格式字符串拼接 my_info 这个变量不方便!
    # 因为元组中通常保存的数据类型是不同的
    print(my_info)

2.4应用场景

  • 尽管可以使用 for in遍历 元组,但是在开发中,更多的应用场景是:

  • 函数的 参数返回值,一个函数可以接收 任意多个参数,或者 一次返回多个数据

  • 格式化字符串,格式化字符串后面的( )本质上就是一个元组

  • 让列表不可以被修改,以保护数据安全

# 格式化字符串后面的'()'本质上就是元组
print("%s 年龄是 %d 身高是%.2f" %("小明",18,1.75))

info_tuple = ("小明", 21, 1.85)
print("%s 年龄是 %d 身高是%.2f" % info_tuple)

info_str = "%s 年龄是 %d 身高是%.2f" % info_tuple
print(info_str)

元组和列表之间的转换

使用list函数可以把元组转换成列表

list(元组)

使用tuple函数可以把列表转换成元组

tuple(列表)

3.字典

3.1字典的定义

  • dictionary(字典) 是 除 列表 以外python之中 最灵活 的数据类型

  • 字典同样可以用来 存储多个数据,通常用于存储 描述一个 物体的相关信息

  • 和列表的区别:列表有序 的对象集合,字典无序 的对象集合。

  • 字典用{ }定义

  • 字典使用 键值对 存储数据,键值对之间使用分隔。

key是索引

value是数据

之间使用分隔

键必须是唯一的 可以取任何数据类型,但 只能使用 字符串、数字或 元组

 xiaoming = {"name":"小明","age":18,"gender":True,"weight":75.5}

key

value

name

小明

age

18

gender

True

height

1.75

3.2字典的常用操作

3.2.1取值、增加/修改和删除

xiaoming_dict = {"name": "小明"}

# 1.取值
print(xiaoming_dict["name"])
# 在取值的时候,如果指定的key不存在,程序会报错
# print(xiaoming_dict["name123"])

# 2.增加/修改
# 如果key不存在,会新增键值对
xiaoming_dict["age"] = 18
# 如果key存在,会修改已经存在的键值对
xiaoming_dict["name"] = "小小明"

# 3.删除
xiaoming_dict.pop("name")
# 在删除指定键值对的时候,如果指定的key不存在,程序会报错!
# xiaoming_dict.pop("name123")

print(xiaoming_dict)

3.2.2统计键值对数量、合并字典和清空字典

xiaoming_dict = {"name":"小明",
                 "age":18}

# 1.统计键值对数量
print(len(xiaoming_dict))

# 2.合并字典
temp_dict = {"height":1.75,
             "age":20}
# 注意:如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
xiaoming_dict.update(temp_dict)

# 3.清空字典
xiaoming_dict.clear()

print(xiaoming_dict)

3.3循环遍历

遍历 就是 依次字典 中获取所有键值对

for 循环内部使用的 'key 的变量' in 字典
for k in xiaoming:

    print("%s:%s"%(k,xiaoming[k]))

注意:在实际开发中,由于字典中每一个键值对保存数据的类型是不同的,所以针对字典的循环遍历需求并不是很多

xiaoming_dict = {"name":"小明",
                 "qq":"123456",
                 "phone":"10086"}

# 迭代遍历字典
# 变量k是每一次循环中,获取到的键值对的key
for k in xiaoming_dict:

    print("%s - %s" %(k,xiaoming_dict[k]))

3.4应用场景

尽管可以使用 for in 遍历 字典,但是在开发中,更多的应用场景是:使用 多个键值对,存储 描述一个 物体 的相关信息--描述更复杂的数据信息;将 多个字典 放在 一个列表 中,在进行遍历,在循环体内部针对每一个字典进行 相同的处理

# 将 多个字典 放在 一个列表 中,在进行遍历
card_list = [
    {"name": "张三",
      "qq": "12345",
      "phone": "110"},
    {"name": "李四",
      "qq": "54321",
      "phone": "10086"}
]

for card_info in card_list:
    print(card_info)

代码见:https://github.com/x45w/python_gaojishujuleixing.git

内容总结于:https://space.bilibili.com/37974444

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天寒心亦热

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值