在上一篇文章中,我们讨论了与列表关联的访问,遍历和附加操作。为了更好地理解这一点,请仔细阅读前面的“ Python-I中的列出操作”。
列表元素的更新是通过访问元素并就地修改其值来完成的。在python中,可以修改单个元素(通过使用索引访问单个元素)或列表的一部分(使用列表切片)。
示例:让我们更新一个切片
>>> L= [1, 2, 3, 4, 5, 6] >>> L [1:2] = [10, 20] >>> print L
输出结果
[1, 10, 20, 4, 5, 6]
由于列表是序列,因此它们支持许多字符串操作。运算符+&*导致列表的串联和重复。列表中的“ +”运算符期望两侧的序列类型相同,否则会引发类型错误。
例
1)
>>> L= [10, 20, 30, 40, 50] >>>L1=["C","C++","Java","Python"] >>> L2=L+L1 >>> print L2
输出结果
[10, 20, 30, 40, 50, 'C', 'C++', 'Java', 'Python']
2)
>>>["Hi!"]*3
输出结果
['Hi!', 'Hi!', 'Hi!']
有多种方法可以element(s)从列表中删除/删除:
pop()如果索引已知,我们可以使用或del。
如果该元素已知,remove()则可以使用。
要删除多个元素,del()可以使用列表切片。
一世) pop()
它从给定的索引中弹出/删除该元素,并返回被删除的元素。
语法:
List.pop ([index])
例
>>> L1= ["C","C++","Java","Python"] >>> L1.pop(2) >>> print L1
输出结果
'Java' ['C', 'C++', 'Python']
del从列表中删除指定的值,但不返回已删除的元素。
例
>>> L1= ["C","C++","Java","Python"] >>> del L1[3] >>> print L1
ii) remove()
如果我们知道要删除的元素但不知道该元素的索引,则可以使用remove()。
例
>>> L= [23, 34, 24, 56, 89] >>> L.remove (34) #将从列表中删除值90 >>> print L1
输出结果
[23, 24, 56, 89]
iii) del()切片
例
>>> L= [1,2,3,4,5,6] >>> del L1[2:4] #将从列表中删除2和3索引元素 >>> print L1
输出结果
[1, 2, 5, 6]
一世) insert( )
这个列表方法允许我们在给定位置或指定索引处插入一个值,其余元素被移位以容纳新元素。插入方法有两个参数-indexand item。
语法
list. insert (index, item)
例
>>> L1= [29, 78, 45, 12, 1, 23] >>> L1.insert (3, 90) >>> print L1
输出结果
[29, 78, 45, 90, 12, 1, 23]
如果指定的索引小于零,则将项目插入到列表的开头,如果给定的索引大于列表的长度,则将项目插入到最后。
输出结果
>>> L1.insert(10, 2) >>> print L1 >>> L1.insert(-2, 50) >>> print L1
输出结果
[29, 78, 45, 90, 12, 1, 23, 2] [50, 29, 78, 45, 90, 12, 1, 23, 2]
ii) reverse()
此方法可用于反转列表的元素。它不返回任何东西。
语法
list.reverse ( )
例
>>> L1.reverse() >>> print L1
输出结果
[2, 23, 1, 12, 90, 45, 78, 29, 50]
iii) sort()
为了以一种时尚的方式排列元素,Python提供了一个方法sort()和一个函数sorted()。sort()在适当位置安排或修改列表,并sorted()返回新的排序列表。
语法
list.sort ([cmp,[key,[reverse]]])
[]中提到的参数是可选的。这些参数使我们可以自定义方法。
1)例子
>>> L1.sort ( ) >>> print L1
输出结果
[1, 2, 12, 23, 29, 45, 50, 78, 90]
2)例子
>>> L2= ["Ruby", "C", "Java","C++", "Python"] >>> L2.sort ( ) >>> print L2
输出结果
['C', 'C++', 'Java', 'Python’, 'Ruby']
3)例子
>>> L2.sort (key=len) >>> print L2
输出结果
['C', 'C++', 'Java', 'Ruby', 'Python']