列表的系列操作(python)

除了定义和切片外,这里总结下系列的操作:

# hanbb come on!
names = ["hbb",'tian','bao','cheng']

#Add
names.append("new")
print(names)             #['hbb', 'tian', 'bao', 'cheng', 'new']

# insert
#names.insert(1,before 2)              #invalid syntax
names.insert(1,"before 1")
print(names)            #['hbb', 'before 1','tian',  'bao', 'cheng', 'new']
names.insert(2,'behind 1')                                                #写在哪,插在哪
print(names)            # ['hbb', 'behind 1', 'before 2', 'tian', 'bao', 'cheng', 'new']

# revise
names [0] = "忍你很久了"
print(names)            # ['忍你很久了', 'before 1', 'behind 1', 'tian', 'bao', 'cheng', 'new']

# delete
del names [1]
print(names)            # ['忍你很久了', 'behind 1', 'tian', 'bao', 'cheng', 'new']
# del names['bao']                    #list indices must be integers or slices, not str

# names.del                          # no have this operation
# names.remove(2)                    # list.remove(x): x not in list
names.remove("tian")
print(names)            # ['忍你很久了', 'behind 1', 'bao', 'cheng', 'new']

names.pop(2)            # ['忍你很久了', 'behind 1', 'cheng', 'new']
print(names)
names.pop()                          # delete the last one
print(names)            # ['忍你很久了', 'behind 1', 'cheng']

# extend
names_2 = ["cao","hu","zhuo"]

names.extend(names_2)
print(names)             # ['忍你很久了', 'behind 1', 'cheng', 'cao', 'hu', 'zhuo']

# copy
names_3 = names.copy()
print(names_3)           # ['忍你很久了', 'behind 1', 'cheng', 'cao', 'hu', 'zhuo']

# count
# names.count()                            # count() takes exactly one argument (0 given)

#print(names.count(cao))                   #   name 'cao' is not defined
print(names.count("cao"))                 #  统计出现的次数


# sort
names.insert(-1,"666")
names.insert(-1,"b88")
print(names)              # ['忍你很久了', 'behind 1', 'cheng', 'cao', 'hu', '666', 'b88', 'zhuo']
names.sort()
print(names)              # ['666', 'b88', 'behind 1', 'cao', 'cheng', 'hu', 'zhuo', '忍你很久了']
# Reverse
names.reverse()
print(names)              # ['忍你很久了', 'zhuo', 'hu', 'cheng', 'cao', 'behind 1', 'b88', '666']

#  获取下标(位置)
#  names.index()                             # return first index of value. Raises ValueError if the value is not present.
print(names.index("hu"))  # 2

names.insert(2,"hu")      
print(names)              # ['忍你很久了', 'zhuo', 'hu', 'hu', 'cheng', 'cao', 'behind 1', 'b88', '666']
print(names.index("hu")) # 2

 

可以分为两种情况进行总结:

总结1:单元元素操作

names = ["hbb",'tian','bao','cheng']
# the operation of single element:
names.append("xiaoqi")        # add to the last
names.insert(2,"bb8")         # inset one element to target location.

names.remove("bao")           # remove one element
names.pop()                   # remove the last element
names.pop(1)                  # remove element according to it location
print(names.count("cheng"))   # 统计某个元素出现的次数
print(names.index("cheng"))   # 获取某个元素的位置(下标),第一次出现

names [2] = "我要上位"         # 将某位置的元素换掉
names ["hbb"] = "HBB" # 只能根据位置来操作,很忧伤 del names [1] # 根据位置删除

总结1:整个列表的操作

# the operation of entired list
names_2 = names.copy()        # 复制列表
names_3 = ['1','2'] names.extend(names_3) # 扩展列表 names.reverse() # 翻转列表 names.sort() # 排序

总结2:多数情况均是以names.XXXX()进行操作,有几个不是:

names = ["hbb",'tian','bao','cheng']
# the operation of single element:

names [2] = "我要上位"      # 更换操作
del names [1] # 可以用 names.remove( )代替 names.pip (1)
# the operation of entired list names_3 = ['1','2'] # difine

 

posted @ 2017-07-19 16:06  hbb360  阅读(247)  评论(0编辑  收藏  举报