list列表:通过list类创建的对象
特点:中括号;用逗号分割每个元素;列表中的元素可以是数字、字符串、布尔值、列表。。。(内部可以放置任何东西)
【索引和切片】
li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
print(li[0]) #age
print(li[3:5]) #>=3,<5 切片的结果也是列表
print(li[3:-1])
【for循环】
for item in li:
print(item)
【while循环】
【修改:列表的元素可以被修改,因为列表是不连续存储的】
example1:
li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
li[1] = 120
print(li)
example2:
li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
li[1:3] = [120,90]
print(li)
【删除】
example1:
li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
del li[1]
print(li)
example2:
li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
del li[2:6]
print(li)
【in 判断是否在列表中】
li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
v = 120 in li
print(v)
【索引】
li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
v = li[4][1][0][1]
print(v) #9
#li[4][1][0]可以得到字符串,字符串也可以索引
【list() 将字符串转成列表】
s = 'apple'
new_li = list(s)
print(new_li) #['a', 'p', 'p', 'l', 'e']
【str()】
li = [11,22,33,'123','alex']
r = str(li)
print(r) #[11, 22, 33, '123', 'alex']
【如果列表中既有数字又有字符串时:将列表转换成字符串,需要自己写for循环一个个处理】
li = [11,22,33,'123','alex']
s = ''
for i in li:
s += str(i)
print(s) #112233123alex
【如果列表中只有字符串,用join()函数将列表转换成字符串】
li = ['123','alex']
v = ''.join(li)
print(v) #123alex
【append()】
def append(self,p_object):... #p_object是参数
examples:
li = [11,22,33,44]
v = li.append(5)
print(v) #None
print(li) #[11, 22, 33, 44, 5]
#说明append可以直接在原列表的基础上修改,不需要给将结果赋给另外一个变量
----------------------------------------------------------------
li = [11,22,33,44]
li.append(5)
print(li) #[11, 22, 33, 44, 5]
----------------------------------------------------------------
li = [11,22,33,44]
li.append(['alex',99])
print(li) #[11, 22, 33, 44, ['alex', 99]]
【clear()清空列表】
li = [11,22,33,44]
li.clear()
print(li) #[]
【copy() 浅拷贝】
li = [11,22,33,44]
v = li.copy()
print(v) #[11,22,33,44]
【count()计算元素出现的次数:注意需要传入一个参数】
li = [11,22,33,44]
v = li.count(22)
print(v) #1
【extend() 扩展原来的列表:参数是可迭代对象(字符串、列表)】
example1:
li = [11,22,33,44]
li.extend([9898,'不得了'])
print(li) #[11, 22, 33, 44, 9898, '不得了']
PS:注意和append()的区别
example2:
li = [11, 22, 33, 44]
li.extend('不得了')
print(li) #[11, 22, 33, 44, '不', '得', '了']
【index() 根据值获取当前索引位置(左边优先)】
li = [11, 22, 33, 44]
v = li.index(22)
print(v) #1
【insert() 在指定索引位置插入元素】
li = [11, 22, 33, 44]
li.insert(0,99)
print(li) #[99, 11, 22, 33, 44]
【pop() 删除某个值,并获取删除的值(可以指定索引,未指定时默认删除最后一个)】
example1:
li = [99, 11, 22, 33, 44]
v = li.pop()
print(li) #[99, 11, 22, 33](默认将最后一个元素删除)
print(v) #44(获取那个被删除的值)
example2:
li = [99, 11, 22, 33, 44]
v = li.pop(1)
print(li) #[99, 22, 33, 44]
print(v) #11
【remove() 删除】
li = [99, 22, 33, 44]
li.remove(22)
print(li)
PS:pop、remove、del、li[0](index)、del li[7:9]、clear都有删除的意思
【reverse() 将当前列表进行反转】
li = [99, 22, 33, 44]
li.reverse()
print(li) #[44, 33, 22, 99]
【sort() 列表的排序】
li = [11,44,22,33,22]
li.sort()
print(li) #[11, 22, 22, 33, 44]
------------------------------------------------------
li = [11,44,22,33,22]
li.sort(reverse = True)
print(li) #[44, 33, 22, 22, 11]