刷题记录【01】

01.整数转换成数组(按位数)

989. 数组形式的整数加法 - 力扣(LeetCode)

其实这道题是大数,不是考察这个,不过可以用于回忆这个,提供的小测试用例能过

所学到的知识:

1.在数组里插入元素:insert() append()
# 要在数组(在Python中通常称为列表)的最前面插入元素,你可以使用列表的 insert() 方法
def insert_at_beginning(lst, element):
    lst.insert(0, element)
2.倒转列表 
# 倒转列表

# 方法1:使用 reverse() 方法 原列表会被倒转
def reverse_list_in_place(lst):
    lst.reverse()
    return lst

# 示例
arr = [1, 2, 3, 4, 5]
reverse_list_in_place(arr)
print(arr)  # 输出: [5, 4, 3, 2, 1]


# 方法2:使用切片
def reverse_list_using_slice(lst):
    return lst[::-1]

方法3:使用 reversed() 函数 这个方法返回一个倒序的迭代器,通常用于for循环中。
def reverse_list_with_reversed(lst):
    return list(reversed(lst))

# 示例
arr = [1, 2, 3, 4, 5]
reversed_arr = reverse_list_with_reversed(arr)
print(reversed_arr)  # 输出: [5, 4, 3, 2, 1]
print(arr)           # 原始列表不变: [1, 2, 3, 4, 5] !!!

3.sorted()函数和sort()函数的区别
  1. 返回值

    • sorted() 是一个内置函数,它接受一个可迭代对象作为参数,并返回一个新的列表,这个列表是输入的可迭代对象的排序副本。原可迭代对象不会被修改。
    • sort() 是列表(list)的一个方法,它直接在原列表上进行排序,不返回任何值(或者说返回 None)。
  2. 使用对象

    • sorted() 可以用于任何可迭代对象,包括列表、元组、字典、集合等。
    • sort() 是列表对象的一个方法,只能用于列表。
  3. 可定制性

    • 两者都允许你通过 key 参数来指定一个函数,用于从每个列表元素中提取一个比较键。
    • 两者都允许你通过 reverse 参数来指定排序的顺序,reverse=True 表示降序排序。
  4. 内存使用

    • sorted() 由于返回一个新的列表,因此会占用更多的内存。
    • sort() 直接在原列表上进行排序,不需要额外的内存来存储副本。
  5. 语法

    • sorted(iterable, key=None, reverse=False)
    • list.sort(key=None, reverse=False)
  6. # 使用 sorted() 函数
    my_list = [3, 1, 4, 1, 5, 9, 2]
    sorted_list = sorted(my_list)  # 返回新的排序列表,原列表不变
    print(sorted_list)            # 输出: [1, 1, 2, 3, 4, 5, 9]
    print(my_list)                # 输出: [3, 1, 4, 1, 5, 9, 2]
    
    # 使用 sort() 方法
    my_list.sort()                # 直接在原列表上进行排序
    print(my_list)                # 输出: [1, 1, 2, 3, 4, 5, 9]
 *** 如何使用sorted函数来实现二维数组排序
lst = [[5,4],[6,4],[6,7],[2,3]]

# 使用sorted函数对列表进行排序,根据子列表的第一个元素排序,如果第一个元素相同,则根据第二个元素排序
sorted_lst = sorted(lst, key=lambda x: (x[0], x[1]))

print(sorted_lst)

02、列表的切片 

half=(len(nums)+1)//2 # 奇数的长度
        # 奇      偶                   反转
        nums[::2],nums[1::2]=nums[:half][::-1],nums[half:][::-1]

03、二分查找的边界问题

二分查找边界问题总结-CSDN博客

04、lambda与其他函数的结合使用

Python中lambda 函数详解与运用_key=lamdba x: x[n]-CSDN博客

1、map()函数:便于批量计算

#python3.x
num = [1, 2, 3, 4, 5]
print(list(map(lambda x: x ** 2, num)))
#结果 [1, 4, 9, 16, 25]

num1 = [1, 2, 3, 4, 5]
num2 = [6, 7, 8, 9, 10]
print(list(map(lambda x, y: x + y, num1, num2)))
#结果 [7, 9, 11, 13, 15]

2、

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值