第四讲 Python语言基础----内置数据结构

序列数据结构

  • 成员是有序排列的
  • 每个元素的位置成为下标索引
  • 通过索引访问序列中的成员
  • Python中的序列数据类型有字符串列表元组(“abc != bca”)

创建列表和元组

 (用来表示多个有序数据)

C语言、java中用数组存放多个有序数据,数据类型必须相同。

Python中的列表和元组,可以存放不同类型的数据或对象,可以理解为超级数组

  • 列表(list):使用 [ ] 表示。
  • 元组(tuple):使用 () 表示。
  • 两者区别:列表中的值可以改变,元组一经定义,内容不能改变
tuple_1 = (1)    # 表示数字1
tuple_2 = (1,)   # 表示只有一个元素的元组

索引

在这里插入图片描述

切片

一次性从序列中获取多个元素,得到序列的子集

[开始位置:结束位置] 切片不包括结束位置的元素

省略开始位置,默认从序列的第一个元素开始。
省略结束位置,默认取到序列中的最后一个元素

# 字符串切片
str = "abcde"
print(str[1:5]) # 输出 bcde
print(str[:5]) # 省略开始位置,输出 abcde
print(str[2:]) # 省略结束位置,输出 cde

# 列表切片
list_a = [0,1,2,3,4]
print(list_a[2:]) # 输出 [2,3,4]
list_b = [20208223077,"王同学","男",18]
print(list_b[:]) # 输出 [20208223077,"王同学","男",18]

打印

print(序列数据结构名称) 打印整个序列

获取序列长度

len(序列名称 ) 可用于字符串、元组、列表序列的长度获取

print(len("python"))

str_p = "python"
print(len(str_p))

更新列表

向列表中添加元素

  • 向列表尾部追加元素 append()
  • 向列表中指定位置追加元素insert(指定位置,插入元素)
  • 合并列表 extend() 或 "+"运算符
  • 删除元素 del语句
  • 元素排序 sort() & reverse
# 向列表尾部追加元素 append()
list_1 = [1,2,3]
list_2 = [888]
list_1.append(4)  # 将4追加到列表list_1的后面
print(list_1) # 输出 [1,2,3,4]

# 向列表中指定位置追加元素insert(指定位置,插入元素)
list_1.insert(1,5) # 在list_1索引值为1的位置插入5并将后面元素后移
print(list_1) # 输出[1,5,2,3,4]

# 合并列表 extend() 或  "+"运算符
list_1.extend(list_2) #把2合并到1上
print(list_1)

list_add = list_1 + list_2
print(list_add)

# 删除列表元素 del语句
del list_1[1] # 删除下标为 1 的元素
# 元素排序 sort() & reverse
list_1 = [1,2,6,8,3,4,5]
list_1.sort() # 将list_1中的元素按从小到大的顺序排列
print(list_1)
list_1.reverse() # 将list_1中的元素原地逆序
print(list_1)

字典

字典 {键:值,键:值…}

每个字典元素都是一个 键/值对
键: 关键字
值: 关键字对应的取值
字典是一种表示映射关系的数据结构

dic_score = {"语文":80,"数学":95,"English":100}
dic_employ = {"name":"wang","age":22}
dic_employ = {"name":{"姓:":"liu","名":"keai"},"age":18}

print(dic_score)    #打印字典
print(dic_score["语文"])    #访问字典中元素
print(dic_employ["name"])

#len(): 获取字典长度
print(len(dic_employ))  

#in运算符--判断字典是否存在元素
## 返回一个布尔值
print("English" in dic_score)
print('*'*50)

#遍历字典元素
## keys(): 返回字典中所有的关键字
## values(): 返回字典中所有的值
## iteam(): 返回字典中所有的键值对
## 可以用for循环 遍历字典
for key in dic_score.keys():
    print(key,end=" ")
print()
print('-'*50)
for value in dic_employ.values():
    print(value,end=" ")
print()
print('-'*50)
for iteam in dic_employ.items():
    print(iteam,end=" ")
print()
print('-'*50)
# 格式化输出
for name,course in dic_score.items():
    print("王煜豪的%s成绩是:" %(name),course)  # 注意!!!
print('*'*50)

#更新字典
dic_score['物理']  = 98
print(dic_score)
dic_score['物理'] = 60  #直接修改物理成绩
print(dic_score)
print('*'*50)

# 合并字典(update):将另一个字典中的元素追加到字典中
dic_stu1 = {"name":'黎明'}
dic_tel = {'tel':15802998101}
dic_stu1.update(dic_tel)
print(dic_stu1)
print('*'*50)

# 删除
## pop(指定元素的关键字)
dic_score.pop("语文")
print(dic_score)

print('-'*50)

## clear():清除字典中所有元素
dic_stu1.clear()
print(dic_stu1)

print('*'*50)

集合(set)

由一组无序排列的元素组成
:集合中的元素是唯一的,输出会自动清除重复的元素
集合中的元素是无序的,因此不能通过下标来访问

# 可变集合 set()
# 不可变集合 frozenset()
set1 = set("pythonooo")
print(set1)
set2 = frozenset('pythonnnn')
print(set2)

课程链接

https://www.icourse163.org/learn/XUST-1206363802?tid=1206674203#/learn/content?type=detail&id=1213258119&cid=1217410427

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值