列表类型(list)的使用

列表类型(list)的使用

返回首页

  在列表中要注意,列表list是有序的。列表的取值用索引值就可以。

  列表的存储方式是:线性存储,他的复杂度是O的N倍。

  列表的常用操作有:索引、切片、统计、追加、插入、删除、修改、反转、排序

  索引:index方法 

#索引 index 可以打印索引的位置序数
name = ['george','hervy','jack','rebeca','yellow','green']
print(name.index("yellow"))  #打印元素对应的索引值

  

  切片:通过index的索引值进行切片

#取值,切片取值
name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
print(name[1])
print(name[2:4])
print(name[2:])
print(name[-1])

  统计:通过count()方法可以获取列表中,相同数据的个数。

name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
print(name.count("jack"))

  追加:append()方法。

#追加 append()
name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
name.append("Tom")
name.append("jack")
name.append("green")
print(name)
print(name.count("jack"))
print(name.count("green"))

  插入:insert()方法,该方法的参数是 (位置参数, "数据参数")。

#插入 insert()
name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
name.insert(4,"TOM")   #数字是要插入的索引值位置。后面跟要插入的数据
print(name)

  删除:pop()方法、remove()方法、clear()方法、del方法。

#删除 pop()方法,参数是要被删除的数据的索引值
name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
print(name.pop(2)) # 这里打印的是pop删除的结果数据,也就是返回删除值,如果不添加索引值,则是默认移除列表最后一位。
print(name)   #这里再打印就没有索引值为2的jack数据了 
#删除 remove()方法,参数是要被删除的数据
name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
print(name.remove("jack"))   #remove方法不会返回删除的值,并且参数也不是索引值,而是数据本身
print(name)
#删除 del方法,参数是要被删除的数据的索引值,del是将列表的某个元素或整个列表删除了
name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
del name[1]   #直接删除列表中对应的索引值数据
print(name)
#删除 clear()方法 清空,没有参数,直接清空整个列表的内容
name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
name.clear()
print(name)

  修改: 

# 修改 
name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
print(name)
print(name[name.index("jack")])  #获取要修改的数据的索引值,以及对应的数据
name[name.index("jack")] = "Tom"   #对索引值的数据从新赋值
print(name)

  扩展:extend()方法,可以将多个列表合并成一个列表。但合并时不会去重。extend的合并列表,之前的name2还是依旧存在的。

#扩展 extend() 在合并列表时,不会进行去重操作。
name1 = ['george','hervy','jack']
name2 = ['rebeca','yellow','green',"jack"]
name1.extend(name2)
print(name1)
# “+”操作也有extend操作的效果
name1 = name1 + name2
print(name1,name2)

  反转:reverse()方法

#反转 reverse()方法,将列表内容反向输出
name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
name.reverse()
print(name)

  排序:sort()方法,按字母顺序排序。

       int类型和str类型混用的情况,将数字变成字符串可以按ASCII码表的数值排序。

       Python3中int类型和str类型不可混用排序。

     特殊字符在更靠前的位置。

# 排序 sort()方法,按字母排序。数字按小到大排序。
name1 = ["george","gw","ga","hervy","jack","rebeca","yellow","green","jack"]
name2 = [5,2,3,7,8,4]
name1.sort()
name2.sort()
print(name1,name2)
name = ["george","gw","ga","hervy","jack","rebeca","yellow","green","jack","3","6","1","9"]
name.sort()
print(name)

  拷贝 copy()方法:拷贝出的新的变量是完全独立的。

name = [1,2,3,4,['george','wang',3]]
n2 = name.copy()
name[1] = -2
name[4][0] = "GEORGE"
name[4][2] = -3
print(name)
print(n2)

   copy的使用场景:信用卡的主卡和副卡,也就是两个不同的账户,但从一个地方出钱。刷主卡,副卡的额度也会变。 

account = {
    'name':'主卡',
    'id':1234,
     'info' : [200, 10 ]
}

account2 = account.copy()
account2['name'] ="副卡"

account["info"][1] += 30

print(account,account2)

-------- END --------

原文地址:https://www.cnblogs.com/george92/p/12670428.html