【无标题】Python ---Day2 复合类型之序列类型、映射类型和集合类型的学习!!!

系列文章目录


前言

昨天博主梳理了有关变量,数字类型以及字符串类型,今天大家跟随博主一起进入复合类型之序列类型、映射类型和集合类型总结。相信大家跟随博主的进度在未来也会成为一位高级的算法工程师

一、复合类型初识

Python 支持多种复合数据类型,可将不同值组合在一起。

1.1 列表类型

list

列表是用方括号标注、逗号分隔的一组值,可以包含不同类型的元素:

  • 列表内的数据有先后顺序关系
  • 列表是可变的容器

1.1.1 列表创建

  • 字面值

    L = []     # 创建一个空的列表
    L = ['北京', '上海', '广州', '西安']  # 创建一个含有4个字符串的列表
    L = [1, 'Two', 3.14, True, False, None]
    L = [1, 2, [3.1, 3.2], 4]   #  含有四个元素的列表,第三个元素是列表
    L2 = [
    	['姓名','语文成绩','数学成绩'],
    	['小王', 90, 100],
    	['牛犇', 59, 26]
    ]
    
  • 构造函数list

    list()           # 创建一个空的列表,等同于 []
    list(可迭代对象)   # 用可迭代对象创建一个列表
    

    示例

    L = list()          # L = []
    L = list("ABC")     # L = ['A', 'B', 'C']
    L = list(range(5))  # L = [0, 1, 2, 3, 4]
    

1.1.2 列表运算

列表list同字符串str都是序列, 他们的运算规则基本相同。

  • + 用于拼接列表

    [1, 2, 3] + [4, 5, 6]   # [1, 2, 3, 4, 5, 6]
    
  • += 追加

    语法 列表 += 可迭代对象

    L = [1, 2, 3]
    L += [4, 5]         # L = [1, 2, 3, 4, 5]
    L = [1, 2, 3]
    L += "ABC"          # L = [1, 2, 3, 'A', 'B', 'C']
    L += range(2)
    
  • * 用于生产重复的列表

    [1, 2] * 3    # [1, 2, 1, 2, 1, 2]
    L = [5, 6]
    L *= 3        # L = [5, 6, 5, 6, 5, 6]
    
  • == 、!= 用于比较

    [1, 2, 3] == [1, 2, 3]    # True
    [1, 2, 3] != [3, 2, 1]    # True
    
  • in 、not in 用于判断一个数据元素是否在列表中

    "hello" in [1, "hello", 'world']
    True
    '红楼梦'  in ['三国演义', '西游记']
    False
    

    1.1.3 列表访问

1.1.3.1 索引
列表[整数表达式]
L = [1, 2, 3, 4, 5, 6]
print(L[0])    # 1
print(L[-1])   # 6

与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。

img
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )
1.1.3.2 反向索引

索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )
1.1.3.3 切片
列表[(开始索引b):(终止索引e)(: (步长s))]

() 里的内容代表可以省略

x = [1, 2, 3, 4, 5, 6, 7, 8]
y1 = x[:4]     # y1 = [1, 2, 3, 4]
y2 = x[::2]    # y2 = [1, 3, 5, 7]
y3 = x[::-1]   # y3 = [8, 7, 6, 5, 4, 3, 2, 1]
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])
list = ['openAI', 'hqyj', "Zhihu", "Taobao", "Wiki"] 
# 读取第二位
print (list[1])
# 从第二位开始(包含)截取到倒数第二位(不包含)
print (list[1:-2])
# 从下标2开始(包含2)到最后一个
print (list[2:])
# 从下标0开始到下标3结束(左闭右开)
print (list[:3])

1.1.4 列表操作

增、删、改、查(就是列表访问)

官方文档:https://docs.python.org/zh-cn/3.13/library/stdtypes.html#sequence-types-list-tuple-range

1.1.4.1 添加数据
  • 方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值