python中list常用操作实例详解
admin
2023-07-31 02:27:04
0

本文实例讲述了python中list常用操作。分享给大家供大家参考。具体分析如下:

1.定义list

>>> li = [\"a\", \"b\", \"mpilgrim\", \"z\", \"example\"]
>>> li 
[\'a\', \'b\', \'mpilgrim\', \'z\', \'example\']
>>> li[0]
\'a\' 
>>> li[4]
\'example\'

2.负的list 索引

>>> li 
[\'a\', \'b\', \'mpilgrim\', \'z\', \'example\']
>>> li[-1] 
\'example\' 
>>> li[-3] 
\'mpilgrim\' 
>>> li 
[\'a\', \'b\', \'mpilgrim\', \'z\', \'example\']
>>> li[1:3]  
[\'b\', \'mpilgrim\'] 
>>> li[1:-1] 
[\'b\', \'mpilgrim\', \'z\'] 
>>> li[0:3]  
[\'a\', \'b\', \'mpilgrim\'] 

3.向 list 中增加元素

>>> li 
[\'a\', \'b\', \'mpilgrim\', \'z\', \'example\']
>>> li.append(\"new\")
>>> li 
[\'a\', \'b\', \'mpilgrim\', \'z\', \'example\', \'new\']
>>> li.insert(2, \"new\")
>>> li 
[\'a\', \'b\', \'new\', \'mpilgrim\', \'z\', \'example\', \'new\']
>>> li.extend([\"two\", \"elements\"]) 
>>> li 
[\'a\', \'b\', \'new\', \'mpilgrim\', \'z\', \'example\', \'new\', \'two\', \'elements\']

4.搜索 list

>>> li 
[\'a\', \'b\', \'new\', \'mpilgrim\', \'z\', \'example\', \'new\', \'two\', \'elements\']
>>> li.index(\"example\")
5 
>>> li.index(\"new\")
2 
>>> li.index(\"c\")
Traceback (innermost last):
 File \"\", line 1, in ?
ValueError: list.index(x): x not in list
>>> \"c\" in li
False

5.从 list 中删除元素

>>> li 
[\'a\', \'b\', \'new\', \'mpilgrim\', \'z\', \'example\', \'new\', \'two\', \'elements\']
>>> li.remove(\"z\")  
>>> li 
[\'a\', \'b\', \'new\', \'mpilgrim\', \'example\', \'new\', \'two\', \'elements\']
>>> li.remove(\"new\") 
>>> li 
[\'a\', \'b\', \'mpilgrim\', \'example\', \'new\', \'two\', \'elements\']
>>> li.remove(\"c\")  
Traceback (innermost last): 
 File \"\", line 1, in ? 
ValueError: list.remove(x): x not in list 
>>> li.pop()     
\'elements\' 
>>> li 
[\'a\', \'b\', \'mpilgrim\', \'example\', \'new\', \'two\']

remove 从 list 中删除一个值的首次出现。
remove 仅仅 删除一个值的首次出现。 在这里, \’new\’ 在 list 中出现了两次, 但 li.remove(\”new\”) 只删除了 \’new\’ 的首次出现。
如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。
pop 会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。

6.list 运算符

>>> li = [\'a\', \'b\', \'mpilgrim\']
>>> li = li + [\'example\', \'new\']
>>> li 
[\'a\', \'b\', \'mpilgrim\', \'example\', \'new\']
>>> li += [\'two\']         
>>> li 
[\'a\', \'b\', \'mpilgrim\', \'example\', \'new\', \'two\']
>>> li = [1, 2] * 3
>>> li 
[1, 2, 1, 2, 1, 2] 

7.使用join链接list成为字符串

>>> params = {\"server\":\"mpilgrim\", \"database\":\"master\", \"uid\":\"sa\", \"pwd\":\"secret\"}
>>> [\"%s=%s\" % (k, v) for k, v in params.items()]
[\'server=mpilgrim\', \'uid=sa\', \'database=master\', \'pwd=secret\']
>>> \";\".join([\"%s=%s\" % (k, v) for k, v in params.items()])
\'server=mpilgrim;uid=sa;database=master;pwd=secret\'

join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。

8.分割字符串

>>> li = [\'server=mpilgrim\', \'uid=sa\', \'database=master\', \'pwd=secret\']
>>> s = \";\".join(li)
>>> s 
\'server=mpilgrim;uid=sa;database=master;pwd=secret\'
>>> s.split(\";\")   
[\'server=mpilgrim\', \'uid=sa\', \'database=master\', \'pwd=secret\']
>>> s.split(\";\", 1) 
[\'server=mpilgrim\', \'uid=sa;database=master;pwd=secret\']

split 与 join 正好相反, 它将一个字符串分割成多元素 list。
注意, 分隔符 (“;”) 被完全去掉了, 它没有在返回的 list 中的任意元素中出现。
split 接受一个可选的第二个参数, 它是要分割的次数。

9.list的映射解析

>>> li = [1, 9, 8, 4] 
>>> [elem*2 for elem in li]    
[2, 18, 16, 8] 
>>> li
[1, 9, 8, 4] 
>>> li = [elem*2 for elem in li] 
>>> li 
[2, 18, 16, 8] 

10.dictionary中的解析

>>> params = {\"server\":\"mpilgrim\", \"database\":\"master\", \"uid\":\"sa\", \"pwd\":\"secret\"}
>>> params.keys()
[\'server\', \'uid\', \'database\', \'pwd\']
>>> params.values()
[\'mpilgrim\', \'sa\', \'master\', \'secret\']
>>> params.items()
[(\'server\', \'mpilgrim\'), (\'uid\', \'sa\'), (\'database\', \'master\'), (\'pwd\', \'secret\')]
>>> [k for k, v in params.items()]
[\'server\', \'uid\', \'database\', \'pwd\']
>>> [v for k, v in params.items()]
[\'mpilgrim\', \'sa\', \'master\', \'secret\']
>>> [\"%s=%s\" % (k, v) for k, v in params.items()]
[\'server=mpilgrim\', \'uid=sa\', \'database=master\', \'pwd=secret\']

11.列表过滤

>>> li = [\"a\", \"mpilgrim\", \"foo\", \"b\", \"c\", \"b\", \"d\", \"d\"]
>>> [elem for elem in li if len(elem) > 1]
[\'mpilgrim\', \'foo\']
>>> [elem for elem in li if elem != \"b\"]
[\'a\', \'mpilgrim\', \'foo\', \'c\', \'d\', \'d\']
>>> [elem for elem in li if li.count(elem) == 1]
[\'a\', \'mpilgrim\', \'foo\', \'c\']

希望本文所述对大家的Python程序设计有所帮助。

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python查找阿姆斯特朗数 题目解释 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...