1 如何获取列表中的最后一个元素
索引列表的元素不仅支持正数还支持负数,正数表示从列表的左边开始索引,负数表示从列表的右边开始索引,获取最后一个元素有两种方法。
a= [1,2,3,4,5,6,7,8,9,10]
print(a[len(a)-1])
print(a[-1])
2 如何对列表进行排列
列表排序有两种方式,一种是列表自带的方式sort,一种是内建函数sorted。复杂的数据类型可通过指定key参数进行排序。由字典构成的列表,根据字典元素中的age字段进行排序
items= [{"name":"Homer","age":39},
{"name":"Bart","age":10},
{"name":"Carter","age":20}]
items.sort(key=lambdaitem:item.get("age"))
print(items)
列表有sort方法,用于对原列表进行重新排序,指定key参数,key是匿名函数,item是列表中的字典元素,我们根据字典中的age进行排序,默认是按升序排列,指定reverse= True 按降序排序。
如果不希望改变原列表,而是生成一个新的有序列表对象,那么可以内置函数sorted,该函数返回新列表。
items= [{"name":"Homer","age":39},
{"name":"Bart","age":10},
{"name":"Carter","age":20}]
new_items=sorted(items,key=lambdaitem:item.get("age"),reverse=True)
print(items)
print(new_items)
3 如何移除列表中的元素
删除列表中的元素有三种方式
第一种方式:remove移除某个元素,而且只能移除第一次出现的元素
a= [,1,2,4,2,3]
a.remove(2)
print(a)
# 如果要移除的元素不在列表中,则抛出ValueError异常
a.remove(7)
## ValueError: list.remove(x): x not in list
第二种方式:del根据指定的位置移除某元素
a= [3,2,2,1]
# 移除第一个元素
dela[1]
print(a)
# 当超出列表的下表索引时,抛出IndexError的异常
dela[8]
## IndexError: list assignment index out of range
第三种方式:pop与del类似,但是pop方法可以返回移除的元素
a= [4,5,8]
print(a.pop(1))
print(a)
# 同样,当超出列表的下表索引时,抛出IndexError的异常
a.pop(7)
## IndexError: pop index out of range
4 如何连接两个列表
listone= [1,2,4]
listtwo= [4,6,8]
mergedlist=listone+listtwo
print(mergedlist)
列表实现了 + 的运算符重载,使得 + 不仅支持数值相加,还支持两个列表相加,只要你实现了对象的__add__操作,任何对象都可以实现 + 操作,如:
classUser(object):
def__init__(self, age):
self.age=age
def__repr__(self):
return"User(%d)"%self.age
def__add__(self, other):
age=self.age+other.age
returnUser(age)
user_a=User(10)
user_b=User(20)
c=user_a+user_b
print(c)
5 如何随机获取列表中的某个元素
importrandom
items= [8,23,45,12,75]
print(random.choice(items))
print(random.choice(items))
print(random.choice(items))
一只看不见的鸟飞过
投下了一闪即逝的影子
那是什么?是你爱的影子
却盛满了
整个宇宙
领取专属 10元无门槛券
私享最新 技术干货