CGC1561039 阅读(34) 评论(0)

列表是python以及其他语言中最常用到的数据结构之一。Python中使用[]来创建列表

列表中的每项是可以改变的,这一点区别于元组

列表的创建,遍历及增删改查

#创建

names = ["mike", 'jud', 'huihui', 'wang', 'tian', 'kaggle']

#遍历

for name in names:

    print(name)

#查 切片查

print(names[2])         #打印第三个名字

print(names[0 : 3])     #切片处理, 打印前三个

print(names[0 : 10])    #当切片长度大于列表长度,就按照列表长度切片

print(names[-1])        #输出列表最后一个,当数字为负数时,输出倒数第n个

print(names[2 : 3])     #左闭右开

print(names[0 : 5 : 1]) #切片操作[start : end : size]切取[start-end)区间的子序列,start默认值为0 size != 0

print(names[5 : 0 : -3])#和上一个一样

print(names[::-1])      #相当于反转

print(names[:])         #相当于0-最大长度

 

增(append, insert)

names.append('alex')

names.insert(5, 'alvin')

print(names)

 

改(重新赋值)

names = ['章叁', '李四', '王五', '赵六']

 

names[2] = "孙三"

names[0 : 2] = ["liu", 'wang']

print(names)

 

names = ['章叁', '李四', '王五', '赵六']

删(remove, del, pop(返回值))

names.remove("章叁")

print(names)

del names[0]

print(names)

del names           #names变量在内存中被析构

 

names = ['章叁', '李四', '王五', '赵六']

names.pop()

print(names)

 

其他操作 count

lists = ['to', 'be', 'or', 'not', 'to', 'be']

print(lists.count('to'))                        #查询某个元素在列表中出现的次数

 

extend 该方法可以在列表的末尾一次性追加另一个序列中的多个值

lista = [1, 2, 3]

listb = [4, 5, 6]

lista.extend(listb)

print(lista)

 

#index 该方法用于返回元素在列表中的位置

print(lista.index(3))

 

#reverse

lista.reverse()

print(lista)

 

listc = [5, 2, 4, 12, 9, 0]

listc.sort()

print(listc)

 

#深浅拷贝

names = ['章叁', '李四', '王五', '赵六']

names_copy = ['章叁', '李四', '王五', '赵六']

print(id(names))        #2438619076232

print(id(names_copy))   #2438618956936

 

for name, name_copy in zip(names, names_copy):

    print(id(name), id(name_copy))

 

#输出:

#2438618789208 2438618789208

#2438618789296 2438618789296

#2438618789384 2438618789384

#2438618789472 2438618789472

#由此可以看出names_copy的元素的地址和names的元素地址相同,是浅拷贝

 

print("------------------------")

names_copy[0] = "图像"

for name, name_copy in zip(names, names_copy):

    print(id(name), id(name_copy))

#在执行names_copy[0] = "图像"就会把原本指向'章叁'的地址的指针,指向'图像'所在的地址

 

b, d, e, *c = ['1', '2', 3, 4, 5]      #将列表中的元素赋值给等号左边变量,当左边的变量不能完全接受列表元素,会存在c列表中

print(type(b), type(d), type(c))

print(b, d, e, c)


发表评论
切换编辑模式