Python3 List列表

#6 列表是python以及其他语言中最常用到的数据结构之一。Python中使用[]来创建列表
#列表中的每项是可以改变的,这一点区别于元组
#6.1 列表的创建,遍历及增删改查
#创建
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'))                        #查询某个元素在列表中出现的次数

#6.2 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)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值