学风建设网站的优势,淘宝客自建手机网站,wordpress搜索分类,织梦网站转移一、list 操作 Python中的列表是一种有序、可变的数据类型#xff0c;可以存储任意类型的数据。以下是Python中常用的列表操作#xff1a; 创建列表#xff1a;使用[]或list()函数创建一个空列表#xff0c;或者使用[value1, value2, ...]创建一个包含初始值的列表。 访问…一、list 操作 Python中的列表是一种有序、可变的数据类型可以存储任意类型的数据。以下是Python中常用的列表操作 创建列表使用[]或list()函数创建一个空列表或者使用[value1, value2, ...]创建一个包含初始值的列表。 访问列表元素使用下标从0开始访问列表中的元素例如lst[0]表示访问列表中的第一个元素。 切片操作使用切片操作符[start:end:step]来获取列表中的子列表其中start表示开始位置end表示结束位置不包含step表示步长。例如lst[1:4]表示获取列表中第2个到第4个元素。 修改列表元素使用下标从0开始修改列表中的元素例如lst[0] value表示将列表中的第一个元素修改为value。 添加元素使用append()方法向列表的末尾添加一个元素使用extend()方法将另一个列表中的元素添加到当前列表的末尾使用insert()方法在指定位置插入一个元素。 删除元素使用del语句或remove()方法删除列表中的元素使用pop()方法删除列表中指定位置的元素并返回其值。 获取列表长度使用len()函数获取列表中元素的数量。 列表排序使用sorted()函数或list.sort()方法对列表元素进行排序。 列表去重使用set()函数或list的set()方法来去除列表中的重复元素。 列表反转使用reverse()方法将列表中的元素翻转。 列表拼接使用运算符将两个列表拼接成一个新列表使用*运算符将列表复制指定次数。 列表查找使用index()方法查找指定元素在列表中的位置使用in关键字判断指定元素是否在列表中。 列表统计使用count()方法统计指定元素在列表中出现的次数。 列表遍历使用for循环逐个访问列表中的元素。 列表推导式使用列表推导式可以快速生成一个新的列表例如[x for x in lst if x % 2 0] 1、list位置逆序 Python中的list.reverse()方法是用于将列表中的元素翻转会直接修改原列表。 该方法没有返回值即返回值为None。 使用方式如下 lst [1, 2, 3, 4, 5]lst.reverse()print(lst) 输出结果[5, 4, 3, 2, 1] 注意list.reverse()方法是直接修改原列表的顺序而不是创建一个新的翻转后的列表。如果需要创建一个新的翻转后的列表可以使用切片操作符[::-1]例如 lst [1, 2, 3, 4, 5]
new_lst lst[::-1]
print(new_lst) 输出结果[5, 4, 3, 2, 1] 2、list排序 Python中可以使用sorted()函数和list.sort()方法对列表进行排序。 sorted()函数用于对任意可迭代对象进行排序并返回一个新的已排序的列表 如
lst [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
new_lst sorted(lst)
print(new_lst) 输出结果[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9] 注意默认情况下sorted()函数和list.sort()方法都是按升序排序的。如果需要按降序排序可以使用reverseTrue参数例如 lst [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
new_lst sorted(lst, reverseTrue)
print(new_lst)lst [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
lst.sort(reverseTrue)
print(lst) 输出结果 [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1] [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1] 如果列表中的元素是自定义对象可以通过key参数指定排序的关键字。例如以下代码按照学生的年龄进行倒序排序 class Student:def __init__(self, name, age):self.name nameself.age agedef __repr__(self):return f{self.name} ({self.age})students [Student(Alice, 23),Student(Bob, 21),Student(Charlie, 20),Student(David, 22),
]sorted_students sorted(students, keylambda s: s.age,reverseTrue)
print(sorted_students)输出结果[Alice (23), David (22), Bob (21), Charlie (20)] 3、list去重 Python中可以使用set()函数或list的set()方法来去除列表中的重复元素。例如 lst [1, 2, 3, 2, 4, 3, 5, 6, 5]
new_lst list(set(lst))
print(new_lst)输出结果[1, 2, 3, 4, 5, 6] 如果需要保持原来的元素顺序可以使用列表推导式和not in语句来实现去重。如 lst [1, 2, 3, 2, 4, 3, 5, 6, 5]
new_lst []
for x in lst:if x not in new_lst:new_lst.append(x)
print(new_lst)输出结果[1, 2, 3, 4, 5, 6] 4、list 元素统计 使用python 计数器 from collections import Counter
lst[1,2,2,2,3,6,6,6,6]
a Counter(lst)
print(type(a),a)
print([i for i in a])
print(list(a))
print({k:v for k,v in a.items()})
print(dict(a)) 输出结果 class collections.Counter Counter({6: 4, 2: 3, 1: 1, 3: 1})
[1, 2, 3, 6]
[1, 2, 3, 6]
{1: 1, 2: 3, 3: 1, 6: 4}
{1: 1, 2: 3, 3: 1, 6: 4} 二、dict操作 1.创建字典 my_dict {key1: value1, key2: value2, key3: value3}2.访问字典元素 value1 my_dict[key1]3.添加或修改字典元素 my_dict[key4] value4 # 添加元素
my_dict[key1] new_value1 # 修改元素4.删除字典元素 del my_dict[key3] # 删除指定元素
my_dict.clear() # 清空整个字典5.遍历字典 for key, value in my_dict.items():print(key, value)6.获取字典键值对数量 num_items len(my_dict)7.检查字典中是否存在某个键值对 if key1 in my_dict:print(key1 exists)8.获取字典所有键或所有值 keys my_dict.keys()
values my_dict.values()9.合并两个字典 my_dict1 {key1: value1, key2: value2}
my_dict2 {key3: value3, key4: value4}
my_dict1.update(my_dict2) # 将my_dict2合并到my_dict1中10.获取指定键的值如果键不存在则返回默认值 value my_dict.get(key5, default_value)11.将字典转换为列表 my_list list(my_dict.items())12.将列表转换为字典 my_list [(key1, value1), (key2, value2)]
my_dict dict(my_list)13.通过 values 取到 key 的方法 dic{a:1,b:2,c:3}
list(dic.keys())[list(dic.values()).index(1)] 输出结果a 1、dict 有序创建 在 Python 3.7 及以后的版本中字典是有序的即插入顺序与遍历顺序一致。如果需要在早期版本中创建有序字典可以使用第三方库 collections 中的 OrderedDict。 使用 OrderedDict 的方式和普通字典类似只需要在创建字典时使用 OrderedDict 替代 dict 即可 from collections import OrderedDictmy_dict OrderedDict({key1: value1, key2: value2, key3: value3})此时my_dict 中的键值对的顺序与插入的顺序一致。可以通过遍历字典来验证 输出结果 key1 value1
key2 value2
key3 value3需要注意的是OrderedDict 比普通字典的内存消耗要大一些因为它需要维护一个双向链表来记录插入顺序。如果对字典的顺序并不关心可以使用普通字典来减少内存开销。 2、dict key值排序 要对字典的键按照字典序即按照字母顺序进行排序可以将字典的键转换为列表然后使用 sorted() 函数进行排序。 如 my_dict {c: 1, a: 3, b: 2}
sorted_keys sorted(my_dict.keys())输出结果[a, b, c] 如果需要按照键对应的值进行排序可以使用 key 参数指定排序依据 sorted_keys sorted(my_dict.keys(), keylambda x: my_dict[x])此时sorted_keys 中的元素是按照值排序后的 输出结果[c, b, a] 注意sorted() 函数返回的是一个列表而不是字典因为字典是无序的。如果需要按照键排序后创建一个新的字典可以使用字典推导式 sorted_dict {k: my_dict[k] for k in sorted(my_dict.keys())}此时sorted_dict 中的元素是按照键排序后的字典 输出结果{a: 3, b: 2, c: 1}