Python python 五种数据类型--列表

# 列表的定义
var1 = []
var2 = list()
print(type(var1)) #<class 'list'>
print(type(var2)) #<class 'list'>

# 列表可以容纳任何的对象,可变类型,直接赋值就行
var3 = [1,'a',['a',2],(1,2),{'a':19,'b':20}]
print(var3)

# 列表方法

var1.append('Hello') # 增加
var1.append('World')
var1.append('Hello')
var1.append('Python')
print(var1) #['Hello', 'World', 'Hello', 'Python']

length = len(var1) # 长度
print(length) #4

res1 = var1.index('Hello') #寻找指定元素下列表里面的下标,若没有,会报错,
print(res1) #0

res2 = var1.index('Hello',1) #指定从第几个下标开始
print(res2) #2

res3 = var1.count('Hello') # 统计指定元素的个数
print(res3) #2

res4 = var1.pop(); # 删除最后的一个元素,pop 和栈的用法相似
print(res4)  # 返回删除的元素
print(var1)  # ['Hello', 'World', 'Hello']

res5 = var1.pop(0) # 删除指定下标元素
print(res5)  # 返回删除的元素
print(var1)  #['World', 'Hello']

res6 = var1.remove('World') # 删除指定元素,默认是第一个
print(res6) # None 没有返回值
print(var1) # ['Hello']

res7 = var1.insert(0,'World') # 插入到指定位置
print(res7) # None 没有返回值
print(var1) #['Hello', 'World']

var1.append('Abandon')
res8 =var1.sort();# 排序
print(res8) # None  没有返回值
print(var1) # ['Abandon', 'Hello', 'World']

res9 = var1.sort(reverse=True) #反向排序
print(res9) #None
print(var1) #['World', 'Hello', 'Abandon']


# 简单的将一个列表赋值给另一个变量,实际指向用一个内存地址,改变一个,另一个也会改变
print(var1)
print(id(var1)) #2277300412104
varc1 = var1
print(id(varc1)) #2277300412104
varc1.pop();
print(varc1)#['World', 'Hello']
print(var1)#['World', 'Hello']

#copy  shadow copy,一个变,另一个不会变,但是如果列表里面还会有列表,里面的数据一个改变另一个也会改变
varCopy = var1.copy()
print(id(varCopy))#2237726431432
print(id(var1))#2237726432968
varCopy.pop()
var1.copy()
print(varCopy) #['World']
print(var1) #['World', 'Hello']

varr = [[1,2],['a','b']]
varrCopy = varr.copy()
varrCopy[0][1]=3
print(varrCopy) #[[1, 3], ['a', 'b']]
print(varr)#[[1, 3], ['a', 'b']]

import copy
# deep copy
varrdeep = copy.deepcopy(varr)
print(varr) #[[1, 3], ['a', 'b']]
print(varrdeep) #[[1, 3], ['a', 'b']]

varrdeep[0][1] = 2
print(varr) #[[1, 3], ['a', 'b']]
print(varrdeep) #[[1, 2], ['a', 'b']]

# clear 清除列表里面的元素
var1.clear()
print(var1)

var1.append('Hello World')
rest1 = var1*2
print(rest1) #['Hello World', 'Hello World']

# 一个列表添加到另一个列表上
var1.extend(rest1)
print(var1) #['Hello World', 'Hello World', 'Hello World']

rest2 = var1 + rest1
print(rest2) #['Hello World', 'Hello World', 'Hello World', 'Hello World', 'Hello World']

 

posted @ 2019-05-16 15:59  Chris,Cai  阅读(1102)  评论(0编辑  收藏  举报