2016.07.09-10list方法

列表(list):

初始化列表:
lst = []
lst = list()
lst = [1, 2, 3]

下标/索引操作:
python中的索引从0开始
lst[0] 取出第一个元素
lst[-1] 负数索引表示从后往前,由-1开始,-1表示最后一个元素
如果索引超出范围,将引发IndexError异常
修改元素的时候,如果超出索引范围,也会引发IndexError异常

增加元素:
append方法:原地修改list,在list结尾追加一个元素,append方法的返回值是None
| append(...)
| L.append(object) -> None -- append object to end
实例:
>>> lst = [1, 2, 3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
>>>
insert方法:在指定索引位置之前插入一个元素,insert操作的索引超出方位,如果是正索引,等效于append在列表最后追加,如果是负的索引,等效于insert(0, object)
| insert(...)
| L.insert(index, object) -- insert object before index
实例:
>>> lst.insert(0,0)
>>> lst
[0, 1, 2, 3, 4]
>>>
extend方法:把一个可迭代对象扩展到列表
| extend(...)
| L.extend(iterable) -> None -- extend list by appending elements from the iterable
实例:
>>> lst
[78, 0, 1, 2, 10, 99, 3, 4, 100]
>>> l2 = [1,3,4,5,2]
>>> lst.extend(l2)
>>> lst
lst
>>> lst
[78, 0, 1, 2, 10, 99, 3, 4, 100, 1, 3, 4, 5, 2]
>>>
删除元素:(pop是针对的索引,remove针对的是值)
pop方法:index默认为-1,删除-1所在的元素,并返回它,可以删除指定索引的元素,如果指定索引不存在则抛出IndexError异常
| pop(...)
| L.pop([index]) -> item -- remove and return item at index (default last).
| Raises IndexError if list is empty or index is out of range.
实例:
>>> lst
[78, 0, 1, 2, 10, 99, 3, 4, 100, 1, 3, 4, 5, 2]
>>> lst.pop()
2
>>> lst.pop(4)
10
>>> lst.pop(100)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: pop index out of range
>>>

remove方法:删除列表中第一个查找到的元素,如果值不存在,会抛出ValueError异常
| remove(...)
| L.remove(value) -> None -- remove first occurrence of value.
| Raises ValueError if the value is not present.
实例:
>>> lst
[78, 0, 1, 2, 99, 3, 4, 100, 1, 3, 4, 5]
>>> lst.remove(1)
>>> lst
[78, 0, 2, 99, 3, 4, 100, 1, 3, 4, 5]
>>> lst.remove(7)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>>
clear方法,清空列表
| clear(...)
| L.clear() -> None -- remove all items from L
实例:
>>> lst
[78, 0, 2, 99, 3, 4, 100, 1, 3, 4, 5]
>>> lst.clear()
>>> lst
[]
>>>
查找/统计元素:
index方法:查找指定元素在列表中第一次出现的索引,[start,[stop]]为可选参数,值为索引,用于指定查找范围。
| index(...)
| L.index(value, [start, [stop]]) -> integer -- return first index of value.
| Raises ValueError if the value is not present
实例:
>>> lst = [1, 2 ,3 ,4, 5, 1, 3]
>>> lst.index(1)
0
>>> lst.index(1,3)
5
>>>
count方法:统计指定元素在列表中出现的次数。
| count(...)
| L.count(value) -> integer -- return number of occurrences of value
实例:
>>> lst
[1, 2, 3, 4, 5, 1, 3]
>>> lst.count(1)
2
>>>
len函数:是一个内置函数,可用于统计列表的元素个数。
len(obj, /)
Return the number of items in a container.
实例:
>>> lst
[1, 2, 3, 4, 5, 1, 3]
>>> len(lst)
7
>>>
修改列表:
sort方法:对列表进行排序,会原地修改列表,reverse为可选参数,默认为False,指定为True,列表逆序排序。
| sort(...)
| L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
实例:
>>>lst
[1, 2, 3, 4, 5, 1, 3]
>>> lst.sort()
>>> lst
[1, 1, 2, 3, 3, 4, 5]
>>> lst.sort(reverse=True)
>>> lst
[5, 4, 3, 3, 2, 1, 1]
reverse方法:对列表进行反转,会原地修改列表。
| reverse(...)
| L.reverse() -- reverse *IN PLACE*
实例:
>>> lst = [5, 4, 3, 3, 2, 1, 1]
>>> lst.reverse()
>>> lst
[1, 1, 2, 3, 3, 4, 5]
>>>
其他方法:
copy方法:复制列表,生成一个新的列表,浅拷贝。
| copy(...)
| L.copy() -> list -- a shallow copy of L
>>> lst
[1, 1, 2, 3, 3, 4, 5]
>>> lst2 = lst.copy()
>>> lst2
[1, 1, 2, 3, 3, 4, 5]
>>> id(lst)
140291324960712
>>> id(lst2)
140291337551944
>>>
in,not in 成员操作符:检查元素是不是在列表中,返回一个布尔类型
>>> lst
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> 10 in lst
False
>>> 2 in lst
True
>>>

list切片赋值:如果所赋值的内容是可迭代的,会替换原来的元素(通常不会对切片进行赋值操作)
>>> lst = list(range(0, 11))
>>> lst
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> lst[3:5] = [‘x‘, ‘y‘, ‘z‘]
>>> lst
[0, 1, 2, ‘x‘, ‘y‘, ‘z‘, 5, 6, 7, 8, 9, 10]
>>>

>>> lst = list(range(0, 11))
>>> lst[3: 5] = [‘x‘]
>>> lst
[0, 1, 2, ‘x‘, 5, 6, 7, 8, 9, 10]
>>>

时间: 2024-11-02 23:52:57

2016.07.09-10list方法的相关文章

2016.07.17-18 集合方法

集合(set): 特性: 1.集合的元素都是唯一的. 2.集合是无序的(非线性序列). set的定义(初始化): s = set() s = {1, 2, 3} 增加元素:添加的元素必须是可hash的,list.set.bytearray.dict是不可hash的,所以不能作为set的元素,通常来说内置类型不能变的都是可hash的. add方法:添加一个元素到集合,如果该元素在集合已经存在,集合不会发生任何改变(集合的元素都是唯一的). add(...) Add an element to a

2016.07.09-10 字符串方法

字符串(str) unicode序列 字符串是不可变的 字符串的定义:支持下标操作,支持切片操作,支持解包.封包操作. s = 'magedu' 字符串的方法: 字符串连接: join: join(...) S.join(iterable) -> str 使用S拼接一个可迭代对象的每个字符元素(只能拼接字符元素),返回一个字符串,S为一个连接符. >>> lst = ['I', 'Love', 'You'] >>> ' '.join(lst) #使用空格拼接字符串

2016.07.09

javascript 中 offsetWidth 是对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变 clientWidth.offsetWidth.clientHeight区别 IE6.0.FF1.06+: offsetWidth = width + padding + border offsetHeight = height + padding + border IE5.0/5.5: offsetWidth = width offsetHeight = height offsetwid

张珺 2015/07/09 个人文档

姓名 张珺 日期 中蓝公寓蓝芳园D507,2015/07/09 主要工作及心得 在今天的设计工作中, 我完成了操作者界面中12个界面的设计工作.并参与了部分代码的合并工作. 通过今天对界面的设计工作,我学会了Java中界面设计的方法,以及相应控件的使用方式. 遇到的问题 由于之前对于Java中界面设计并没有深入学习,对于界面之间的跳转和空间的使用也不太了解,设计时在这方面遇到了一些问题. 解决方法 因为经理.提供者等界面的编写工作已由其他同学完成,因此,遇到问题的大部分问题都可以在同伴的帮助下解

Office 2016安装路径修改方法

Office 2016安装程序不仅不能选择要安装的组件,而且连安装路径都不能选,只能默认安装到C盘,根本就不能选择安装到D盘.E盘什么的,真是好霸道的总裁.不过这难不懂爱折腾的大神们,下面下载吧给出一个Office 2016自定义位置安装方法. Office 2016安装路径修改步骤 1.安装前,按Ctrl+R键打开注册表编辑器,然后定位到如下位置: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion 修改为你希望的安装路径. Pro

http://www.cnbc.com/2016/07/12/tensions-in-south-china-sea-to-persist-even-after-court-ruling.html

http://www.cnbc.com/2016/07/12/tensions-in-south-china-sea-to-persist-even-after-court-ruling.html The judgment is not important. Arbitration that is only agreed on by one party is nothing more than toilet paper. This is my land; why should I let som

uva111 (复习dp, 14.07.09)

 History Grading  Background Many problems in Computer Science involve maximizing some measure according to constraints. Consider a history exam in which students are asked to put several historical events into chronological order. Students who order

uva 674 (入门DP, 14.07.09)

 Coin Change  Suppose there are 5 types of coins: 50-cent, 25-cent, 10-cent, 5-cent, and 1-cent. We want to make changes with these coins for a given amount of money. For example, if we have 11 cents, then we can make changes with one 10-cent coin an

Murano Weekly Meeting 2016.08.09

Meeting time: 2016.August.09 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1.Open Discussion 1) basically the idea is to clean up murano-apps repo. Some apps are simple and have little value, other than examples — those would

9x25 LED 驱动框架分析 2016.07.13

进入内核 make menuconfig 输入 /led 回车搜索到 │ Location: │ │ -> Device Drivers │ │ -> LED Support (NEW_LEDS [=y]) 进入LED Support发现有这一项 []LED Support for GPIO connected LEDs 在内核搜索该字符串 grep "LED Support for GPIO connected LEDs" * -nR 搜索到 drivers/leds/K