一、list 操作

Python中的列表是一种有序、可变的数据类型,可以存储任意类型的数据。以下是Python中常用的列表操作:

  1. 创建列表:使用[]list()函数创建一个空列表,或者使用[value1, value2, ...]创建一个包含初始值的列表。

  2. 访问列表元素:使用下标(从0开始)访问列表中的元素,例如lst[0]表示访问列表中的第一个元素。

  3. 切片操作:使用切片操作符[start:end:step]来获取列表中的子列表,其中start表示开始位置,end表示结束位置(不包含),step表示步长。例如,lst[1:4]表示获取列表中第2个到第4个元素。

  4. 修改列表元素:使用下标(从0开始)修改列表中的元素,例如lst[0] = value表示将列表中的第一个元素修改为value

  5. 添加元素:使用append()方法向列表的末尾添加一个元素,使用extend()方法将另一个列表中的元素添加到当前列表的末尾,使用insert()方法在指定位置插入一个元素。

  6. 删除元素:使用del语句或remove()方法删除列表中的元素,使用pop()方法删除列表中指定位置的元素并返回其值。

  7. 获取列表长度:使用len()函数获取列表中元素的数量。

  8. 列表排序:使用sorted()函数或list.sort()方法对列表元素进行排序。

  9. 列表去重:使用set()函数或listset()方法来去除列表中的重复元素。

  10. 列表反转:使用reverse()方法将列表中的元素翻转。

  11. 列表拼接:使用+运算符将两个列表拼接成一个新列表,使用*运算符将列表复制指定次数。

  12. 列表查找:使用index()方法查找指定元素在列表中的位置,使用in关键字判断指定元素是否在列表中。

  13. 列表统计:使用count()方法统计指定元素在列表中出现的次数。

  14. 列表遍历:使用for循环逐个访问列表中的元素。

  15. 列表推导式:使用列表推导式可以快速生成一个新的列表,例如[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()方法都是按升序排序的。如果需要按降序排序,可以使用reverse=True参数,例如:

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
new_lst = sorted(lst, reverse=True)
print(new_lst)lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
lst.sort(reverse=True)
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, key=lambda s: s.age,reverse=True)
print(sorted_students)

输出结果:[Alice (23), David (22), Bob (21), Charlie (20)]

3、list去重:

Python中,可以使用set()函数或listset()方法来去除列表中的重复元素。例如:

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(), key=lambda 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}

python list,dict操作相关推荐

  1. Python 字典dict操作定义

    字典是用大括号{ }来表示,它是python中最灵活的内置数据类型.它是一个无序的集合,通过键来存取值,而不能用索引. 字典的创建和使用 字典的组成:字典是由大括号{  }来包含其数据的,大括号内包含 ...

  2. python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换

    python字典(dict)+常用方法操作+列表.元组.集合.字典的互相转换 字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 为了保存具有映射关系的数据,Python ...

  3. python列表字典操作_Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  4. Python 炫技操作:合并字典的七种方法

    来源 | Python编程时光(ID: Cool-Python) Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的.在这些人的眼里,能够写出那些一般开发者看 ...

  5. Python的dict字典结构操作方法学习笔记

    Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...

  6. python读文件写文件-python 文件读写操作

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

  7. python对文件的读写操作方式-python 文件读写操作

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

  8. python之IO操作

    文件读写 在Python中,文件读写是通过open()函数打开的文件对象完成的.使用with语句操作文件IO是个好习惯. try:f = open('1.txt', 'r') #rb写二进制#f = ...

  9. Python 文件读写操作-Python零基础入门教程

    目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...

最新文章

  1. 使用OpenVas漏扫
  2. 21 个 curl 命令练习 | Linux 中国
  3. ftp文件传输 vscode_在vscode中配置ftp
  4. SDN Overlay网络中虚机到物理机的数据包的转发
  5. HDU 1358 (所有前缀中的周期串) Period
  6. 国内做得好的进销存软件有哪些啊?
  7. 苹果CMS V10后台登录验证码错误解决方法
  8. win10文件资源管理器默认打开我的电脑及左侧导航设置
  9. 山东省软件设计大赛参赛心得
  10. matlab曲线拟合详解(含fit、fittype函数及fitoptions设置)
  11. 设计模式之禅【原型模式】
  12. ASP.NET建筑工程管理系统
  13. 【活动报名】 拥抱公平《 Impact Tech, She Can 》
  14. 尼日利亚4g频段_4G全球频段划分及主要运营商对应表2015版.xls
  15. 7-2 高精度求累加和 分数 25作者 胡伟平单位 广西科技大学
  16. 高性能计算机传奇(vamei)
  17. Jsp之一 WEB应用程序概述
  18. Kafka多租户(配额)管理
  19. Go语言框架Gin之4 安全认证
  20. h5超简单大转盘抽奖效果(概率可控)

热门文章

  1. 做有情调菜的视频网址
  2. mysql字符串拆分split功能_mysql字符串拆分实现split功能
  3. 昨天听了CSDN俱乐部潘老师的讲座,感触很深!
  4. 【ubuntu】chmod命令
  5. 戴尔笔记本vostro 5402高通无线网卡出现wlan找不到WI-FI网络诊断说无线适配器或接入点问题
  6. Qt:emit是个什么?
  7. 毕淑敏:关于人生的沉思
  8. 多闪删掉的作品怎么恢复_快手误删除作品咋恢复
  9. 联合幕墙,比较好的幕墙设计网站!
  10. 嵌入android模拟器,编译运行Android模拟器