python中列表的常见操作

列表中存放的数据是可以修改的,比如“增”、“删”、“改”

  • 添加元素(append,extend,insert)

append:在列表的末尾进行添加

>>> a=[123,345]
>>> a.append(678)
>>> a
[123, 345, 678]
>>> 

extend:可以将另一个集合中的元素逐一添加到列表中

>>> s1=['a','b','c']
>>> s2=['d','e','f']
>>> s1.extend(s2)
>>> s1
['a', 'b', 'c', 'd', 'e', 'f']

insert:(index,object)  在指定位置index前插入元素object

>>> s1=['a','b','c']
>>> s1.insert(1,'d')
>>> s1
['a', 'd', 'b', 'c']
  • 修改元素(‘改’)

修改元素的时候,要通过下标来确认要修改的是哪个元素,然后才能进行修改

s=["a","b","c","d"]
for i in range(len(s)):
    if s[i]=="b":
        s[i]="ggg"
print(s)

-------------------
['a', 'ggg', 'c', 'd']
  •  查找元素(“查”in,not in,index,count)

所谓的查找,就是看看指定的元素是否存在

  • in(存在),如果存在那么结果为true,否则为false
  • not in(不存在),如果不存在那么结果为true,否则false

  

namelist=["zhangsan","lisi","wanger","mazi","wangwu","laowang"]

count=0
while(count<3):
    findname = input("请输入要查找的姓名:")
    if findname in namelist:
        print("在列表中找到了相同的名字")
    else:
        print("没有找到")
    count+=1

------------------------------
请输入要查找的姓名:lisi
在列表中找到了相同的名字
请输入要查找的姓名:wanger
在列表中找到了相同的名字
请输入要查找的姓名:laosiji
没有找到
  • index,count

 

>>> s=['a','b','c','a','b']
>>> s.index('a',1,4)
3
>>> a.index('a',1,3)  #注意是左闭又开区间
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'a' is not in list
>>> s.count('b')
2
>>> s.count('d')
0
  • 删除元素(“删” del,pop,remove)

del:根据下标进行删除

MovieName=["加勒比海盗","骇客帝国","第一滴血","指环王","霍比特人","速度与激情"]
print("----删除之前----")
for movie in MovieName:
    print(movie)
del MovieName[2]

print("----删除之后----")
for movie in MovieName:
    print(movie)

--------------------------
----删除之前----
加勒比海盗
骇客帝国
第一滴血  
指环王
霍比特人
速度与激情
----删除之后----
加勒比海盗
骇客帝国
指环王
霍比特人
速度与激情

pop:删除最后一个元素,并返回该元素

MovieName=["加勒比海盗","骇客帝国","第一滴血","指环王","霍比特人","速度与激情"]
print("----删除之前----")
for movie in MovieName:
    print(movie)
MovieName.pop()

print("----删除之后----")
for movie in MovieName:
    print(movie)

-----------------------
----删除之前----
加勒比海盗
骇客帝国
第一滴血
指环王
霍比特人
速度与激情
----删除之后----
加勒比海盗
骇客帝国
第一滴血
指环王
霍比特人

remove:根据元素的值进行删除

MovieName=["加勒比海盗","骇客帝国","第一滴血","指环王","霍比特人","速度与激情"]
print("----删除之前----")
for movie in MovieName:
    print(movie)
MovieName.remove("指环王")

print("----删除之后----")
for movie in MovieName:
    print(movie)

-------------
----删除之前----
加勒比海盗
骇客帝国
第一滴血
指环王
霍比特人
速度与激情
----删除之后----
加勒比海盗
骇客帝国
第一滴血
霍比特人
速度与激情

 

  • 排序(sort,reverse)

sort:将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。

reverse:将list逆置。

>>> a=[1,4,2,3]
>>> a.reverse()
>>> a
[3, 2, 4, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a.sort(reverse=true)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
>>> a.sort(reverse=True)
>>> a
[4, 3, 2, 1]

 

posted @ 2018-09-30 15:44  南航海军上校  阅读(180)  评论(0)    收藏  举报