###增加列表的元素:append、extend、insert
①city = ['qingdao','shanghai']
city.append("kaili")%用append追加列表的元素,在原列表尾部增加元素
city
out:['qingdao', 'shanghai', 'kaili']
city.append("nanjing")%没有返回值
city%敲下列表名 其中确实有增加
out:['qingdao', 'shanghai', 'kaili', 'nanjing']
id(city)
out:140125591090504
city.append("guangzhou")
city
out:['qingdao', 'shanghai', 'kaili', 'nanjing','guangzhou']
id(city)
out:140125591090504
%对列表进行某种修改(增加),但列表的地址不变,这叫做原地修改。以上操作说明列表是一个可变对象,可以往筐里加东西但那个筐没变
②help(city.insert)%查找insert的使用方法
L.insert(index, object) -- insert object before index
city.insert(1,"kaili")%把kaili插入到1的前面位置,用insert也是一种增加元素的方法
out:['qingdao', 'kaili', 'shanghai', 'kaili']
③lst = [1,2,3]
city.extend(lst)
out:['qingdao', 'kaili', 'shanghai', 'kaili',1,2,3]
help(city.extend)
L.extend(iterable) -> None -- extend list by appending elements from the iterable
%多使用help 来查明文档用法,iterable叫可迭代对象help(city.extend),extend list by appending elements from the iterable意思是把可迭代对象中的元素一个个拿出来放进列表里,或者是没有返回值
###删除列表元素remove、pop、clear
①city.remove(1)% 用remove把列表中的元素删除
out:['qingdao', 'kaili', 'shanghai', 'kaili',2,3]
city.remove("qingdao")%()里即想删除的元素,remove要求的参数必须是列表中的元素
out:[ 'kaili', 'shanghai',2,3]
②city.pop(2)%先返回要删除的元素,不返回值,但实际上已经删除
help(city.pop)% L.pop([index]) -> item -- remove and return item at index (default last).pop要求的参数是索引,如果不写默认最后一个,pop remove 都是原地修改
city.clear()%clear 清空列表所有元素,得到一个空列表
city
out:[]
lst
out:[1, 2, 3]%原来是[1,2,3]这样一个列表
lst = []%这样也能得到一个空列表,但这是重新引用了一个空列表,筐不一样了
###元素排序sort、 sorted
列表是序列 所以可以进行排序
a = [6,1,5,3]
a.sort() %用sort 进行排序,它也没有返回值,所以是在原地修改
a
out:[1, 3, 5, 6]
help(a.sort)
L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
%key=None, reverse=False 这是两种排序方法
又看刚刚例子
a = [6,1,5,3]
a.sort(reverse=True) %这样就反着排
a
out:[6, 5, 3, 1]
另一个方式
lst = ["python","java","eue","pascal"]
lst.sort(key=len)
lst
['eue', 'java', 'python', 'pascal']
%用关键字来排序,其中以长度作为标准,若长度一样则按字典顺序排
sorted(lst) %sorted是内置函数,用字典顺序来排 ,sorted是对原来的列表进行排序,生成一个列表,对原来的列表没有生成影响而sort是对列表进行原地修改
###元素翻转reverse reversed
①lst.reverse() % 进行翻转 之前我们也可以用lst[::-1]进行翻转
lst
out:['pascal', 'python', 'java', 'eue']
②reversed(lst)
out:<list_reverseiterator at 0x7f717910abe0>
%用内置函数进行反转,有点像刚刚的sort,sorted,reverseiterator这是一个特殊对象
list(reversed(lst))
out:['eue', 'java', 'python', 'pascal']
%用list来查明翻转结果,这是重新生成一个列表,对原来的列表不产生影响