Python学习记录-容器操作(3.25)

本文详细介绍了Python中的列表、元组和字典的基本操作,包括递归和迭代、切片、遍历、插入、删除、拼接以及集合的使用。通过示例练习,帮助读者掌握这些核心概念和实用技巧。
摘要由CSDN通过智能技术生成

示例练习 - 1

# 写一个函数,来求n的阶乘(n正整数)

# 规定必须传入大于等于1的正整数
def factor_recursion(n: int) -> int:
    if n == 1:
        return n

    return n * factor_recursion(n-1)

def factor_iteration(n: int) -> int:
    result = 1
    for i in range(1, n+1):
        result *= i

    return result


num = 5
print(factor_recursion(num))
print(factor_iteration(num))

示例练习 - 2

# 创建列表

# 1.直接使用字面值来创建
# []就表示一个空的列表
a = []
print(type(a))

# ---------------------------------------------------

# 2.使用list()来创建列表
b = list()
print(type(b))

# ---------------------------------------------------

# 3.可以在创建列表的时候,在[]中指定列表的初始值,元素之间使用','来分割
a = [1, 2, 3, 4]
print(a)

# ---------------------------------------------------

# 4.可以在不同的列表里放不同类型的变量
a = [1, 'hello', True, [4, 5, 6]]
print(a)

# ---------------------------------------------------

# 5.使用下标来访问元素
a = [1, 2, 3, 4]
print(a[2])

# ---------------------------------------------------

# 6.使用下标来修改列表元素
a = [1, 2, 3, 4]
a[2] = 100
print(a[2])

# ---------------------------------------------------

# 7. 超出下标有效范围就会出现异常 IndexError: list assignment index out of range
# a = [1, 2, 3, 4]
# a[100] = 0
# print(a[100])

# ---------------------------------------------------

# 8.可以使用内建函数 len 来获取到列表的长度(元素个数),和字符串类似
a = [1, 2, 3, 4]
print(len(a))

# ---------------------------------------------------

# 9.Python中的下标,其实还可以写成负数   例如:写成-1,其实等价于 len(a)-1
a = [1, 2, 3, 4]
print(a[len(a)-1])
print(a[-1])


示例练习 - 3

"""
列表切片操作的基本使用
"""

# 1.切片操作基本使用
a = [1, 2, 3, 4]
print(a[1:3])

# -----------------------------------------------------------

# 2.使用切片的时候省略边界,省略边界后其实就是从列表的0号元素开始取,一直渠道结束的后边界,此处切片的下标也可以写成负数,还可以把开始边界和结束边界省略掉表示整个列表
a = [1, 2, 3, 4]
print(a[1:])
print(a[-1:])
print(a[:])

# -----------------------------------------------------------

# 3.带有步长的切片操作
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(a[::1])  # 得到整个列表
print(a[::2])  # 以步长为2切割列表
print(a[::3])  # 以步长为3切割列表
print(a[1:-1:2])  # 从1 - -1位置以步长为2切割列表

# -----------------------------------------------------------

# 步长的数值还可以是负数,当步长为负数的时候,意思是从后往前来取元素
print(a[::-1])
print(a[::-2])

# -----------------------------------------------------------
# 5.当切片中的范围超出有效下标之后,不会出现异常! 而是尽可能的把符合要求的元素给获取到
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(a[1:100])

示例练习 - 4

"""
列表的遍历操作
"""

# 1.使用for循环来遍历列表
a = [1, 2, 3, 4, 5]
for elem in a:
    print(elem)

print(a)

# -----------------------------------------------------

# 2.使用for循环遍历,通过下标方式
a = [1, 2, 3, 4, 5]
for i in range(0, len(a)):
    print(a[i])
    a[i] += 10

print(a)

# -----------------------------------------------------
# 3.使用while循环,通过下标遍历
a = [1, 2, 3, 4, 5]
i = 0
while i < len(a):
    print(a[i])
    a[i] += 5
    i += 1

print(a)

示例练习 - 5

"""
列表常用操作
"""

# 1.使用append 往列表末尾添加一个元素
a = [1, 2, 3, 4]
a.append(5)
a.append('hello')
print(a)

b = [6, 7, 8, 9]
b.append('world')
print(b)
a.append(b)

print(a)

# -----------------------------------------------------

# 2.还可以使用insert方法,往列表的任意位置来新增元素
a = [1, 2, 3, 4]
a.insert(1, 'hello')
a.insert(100, 'hello')
print(a)

示例练习 - 5

"""
列表常用操作
"""

# 1.使用in 来判定某个元素是否存在列表中
a = [1, 2, 3, 4]
print(1 in a)
print(10 in a)
print(1 not in a)
print(10 not in a)

# --------------------------------------------------

# 2.使用index方法来判定当前元素在列表中的位置,得到一个下标
a = [1, 2, 3, 4]
print(a.index(2))
print(a.index(3))
print(a.index(10))  # 索引超出会报异常


示例练习 - 6

"""
列表基本操作
"""

# 1.使用pop删除列表中的最末尾元素
a = [1, 2, 3, 4]
a.pop()
print(a)

# -------------------------------------------------
# 2.使用pop还能删除任意位置的元素,pop参数可以传一个下标过去
a = [1, 2, 3, 4]
a.pop(1)
print(a)

# -------------------------------------------------
# 3.使用remove方法,可以按照值来进行删除
a = ['aa', 'bb', 'cc', 'dd']
a.remove('cc')
print(a)

示例练习 - 7

"""
列表的基本操作
"""

# 1.使用 + 针对两个列表进行拼接
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
c = a + b
print(a)
print(b)
print(c)

# -------------------------------------------------
# 2.使用extend来进行拼接,这个拼接是把后一个列表的内容拼接到前一个列表里头
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
c = a.extend(b)
print(a)
print(b)
print(c)

# -------------------------------------------------
# 3.使用+=来进行拼接
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
a += b
print(a)
print(b)


示例练习 - 8

"""
元组的基本使用
"""

# 1.创建元组
a = ()
b = tuple()
print(type(a))
print(type(b))

# -------------------------------------------------

# 2.创建元组的时候,指定初始值
a = (1, 2, 3, 4)
print(a)

# -------------------------------------------------
# 3.元组中的元素也可以是任意类型的
a = (1, 2, 'hello', True, [])
print(a)

# -------------------------------------------------
# 4.通过下标来访问元组中的元素,下标也是从0开始,到len - 1结束
a = (1, 2, 3, 4)
print(a[1])
print(a[-1])
# print(a[100])

# -------------------------------------------------
# 5.通过切片来获取元组中的一部分
a = (1, 2, 3, 4)
print(a[1:3])

# -------------------------------------------------
# 6.同样可以使用for循环等方式来遍历元素
a = (1, 2, 3, 4)
for e in a:
    print(e)

# -------------------------------------------------
# 7.可以使用 in 来判定元素是否存在,使用index查找元素的下标
a = (1, 2, 3, 4)
print(3 in a)
print(a.index(3))

# -------------------------------------------------
# 8.可以使用 + 来拼接两个元组
a = (1, 2, 3, 4)
b = (5, 6, 7, 8)
print(a + b)

# -------------------------------------------------
# 9.元组只支持读操作,不能支持‘修改’类操作
a = (1, 2, 3, 4)
# a[0] = 100
# print(a)

# -------------------------------------------------
# 10.当进行多元赋值的时候,其实本质上是按照元组的方式来进行工作的
def getPoint():
    x = 10
    y = 20
    return x, y

print(type(getPoint()))
print(getPoint())

示例练习 - 9

"""
字典基本使用
"""

# 1.创建字典
a = {}
b = dict()
print(type(a))
print(type(b))

# -------------------------------------------------
# 2.创建字典的同时设置初始值
a = {
    'id': 1,
    'name': 'Peter'
}

print(a)

示例练习 - 10

"""
字典的基本你操作
"""

# 1.在字典中新增元素,使用 [] 来进行
a = {
    'id': 1,
    'name': 'Peter'
}

a['age'] = 22
print(a)

# 2.在字典中,根据key修改value,也是使用 [] 来进行的
a['age'] = 23
print(a)

# 3.使用pop方法,根据key来删除键值对
a.pop('name')
print(a)

示例练习 - 11

"""
字典中的基本操作
"""

a = {
    'id': 1,
    'name': 'Peter',
    'score': 90
}

for key in a:
    print(key, a[key])

print(a.keys())
print(a.values())
print(a.items())

for key, values in a.items():
    print(key, values)

示例练习 - 12

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值