说明:本篇博文的知识点大部分来自 Python3 实例
列表翻转
列表翻转就是把列表的值按顺序左移,逻辑还是挺简单的。
我之前的博文也提到过,可以直接使用
lst1 = [1, 2, 3, 4, 5]
print(lst1[::-1])

这就是逆序打印列表
·
下面代码是另一种方式:
def leftRotate(lst1, d, n):
for i in range(d):
leftRotatebyOne(lst1, n)
def leftRotatebyOne(lst1, n):
temp = lst1[0]
for i in range(n - 1):
lst1[i] = lst1[i + 1]
lst1[n - 1] = temp
def printArray(arr, size):
for i in range(size):
print("%d" % arr[i], end=" ")
lst1 = [1, 2, 3, 4, 5, 6, 7]
leftRotate(lst1, 5, len(lst1))
printArray(lst1, len(lst1))
运行结果:

变量交换
之前博文里面也有提到,变量交换可以放在同一行里面进行。
int1 = 100
int2 = 200
int1, int2 = int2, int1
print(int1, int2)
结果:

复制列表
lst2 = clone_runoob(lst1)
直接使用方法复制列表即可
元素求和
两种方式使用lambda和递归方式
# 方法一
from functools import reduce
list1 = [1, 2, 3, 4, 5]
sum = reduce(lambda x, y: x * y, list1)
print(sum)
# 方法二
def listProduct(lst1, size):
if size == 0:
return 1
else:
return lst1[size-1] * listProduct(lst1, size - 1)
lst1 = [i for i in range(1, 6)]
print(lst1)
print(listProduct(lst1, len(lst1)))
运行结果:

字典排序
字典排序使用sorted函数,lambda 和kv选择排序对象,用kv[0]表示key,kv[1]表示value。
reverse参数表示顺序或者逆序,True为逆序。
dict1 = {'ack': 12, 'tom': 10, 'joy': 11, 'def': 13}
print(sorted(dict1.items(), key=lambda kv: (kv[0])))
print(sorted(dict1.items(), key=lambda kv: (kv[1])))
lst1 = [{'name': 'tom', 'age': 10, },
{'name': 'bom', 'age': 10, },
{'name': 'joy', 'age': 11, },
{'name': 'ack', 'age': 12, },
{'name': 'bck', 'age': 12, },
{'name': 'def', 'age': 13}]
print(sorted(lst1, key=lambda i: (i['age'], i['name'])))
print(sorted(lst1, key=lambda i: (i['name'], i['age']), reverse=True))
运行结果:

字典pop
使用pop弹出字典的键值对,并且可以自定义弹出信息,这样弹出不存在的key不会抛异常,如果使用del删除,不存在的key会抛异常。
rst = dict1.pop('ack', '没有该值')
print(rst)
print(dict1)
rst = dict1.pop('ack', '没有该值')
print(rst)
print(dict1)
运行结果:

字典合并,使用update函数,使用方式:
dict2.update(dict1)
本文深入探讨Python中列表翻转、变量交换、列表复制、元素求和、字典排序及pop操作等核心数据结构处理技巧,通过实例展示不同方法的应用场景。

被折叠的 条评论
为什么被折叠?



