Python--基本的对象类型(列表_可变的数据类型)

1.1.5列表

以下方法均在python解释器中进行了测试,读者复制代码时,记得去掉注释符。

#!/usr/bin/env  python
# -*- coding: utf-8 -*-

# ******************通过list类创建的对象******************
# list 类,列表
# 1:列表的格式
# li = [12,中国,"qwer",True,[12,"wqwq",[11,22,33,"44"],1323]]

# 2: 列表用中括号括起来,列表元素之间以逗号隔开;
#    列表中可以嵌套任意类型的对象;

# 3:列表可以进行索引和切片的操作,也可以通过索引和切片取值
# li = [12,"中国","qwer",True,[12,"wqwq",[11,22,33,"44"],1323]]
# print(li[4][2][3])        #索引
# print(li[4][2][1:3])      #切片

# 4:列表是有序的可变对象,列表内的元素可以原地修改,增加,删除
# li = [12,"中国","qwer",True,[12,"wqwq",[11,22,33,"44"],1323]]
# del li[1]         #索引删除某个元素
# del li[1:4]       #切片删除元素
# print(li)
# li.append("1111")   #在末尾增加某个元素
# print(li)
# li [1] = "china"          #索引修改某个元素
# print(li)
# li [1:4] = [12,34,56]     #切片修改某个元素
# print(li)

# 5:for循环,while循环,列表对象也是可迭代的,即就是可以通过for来遍历
# li = [12,"中国","qwer",True,[12,"wqwq",[11,22,33,"44"],1323]]
# for x in li:
#     print(x)

# 6:可以进行in,not in,len等操作
# li = [11,22,33,44]
# a = 11 in li
# print(a)
# a = 11 not in li
# print(a)
# a = len(li)
# print(a)

#7:列表与字符串转换
# 列表转换为字符串:
    # 一:列表里面全部都是字符串,可以通过jion来讲列表转换为字符串
# li = ["hello","world","i","am","19","age"]
# st = " ".join(li)           #可以设置连接符
# print(st)
    # 二:列表里面不全都是字符串,通过for循环来转换为字符串
# li = ["i","am",19,"years","old"]
# s = ""
# for i in li:
#     s = s + str(i)
# print(s)
# 字符串转换为列表:通过list转换,list内部使用for来转换
# s = "1234qwer"
# li = list(s)
# print(li)

# ******************list类中提供的方法******************
# 1:append方法:向列表末尾增加元素
# li = [11,22,33,44,"qwer"]
# li.append("qq")
# print(li)

# 2:clear方法:清空列表
# li = [11,22,33,44,"qwer"]
# print(li)
# li.clear()
# print(li)

# 3:copy方法:浅拷贝,只复制列表的一级元素
# li1 = [11,22,33,44,[12,213,12,13],"qwer"]
# li2 = li1.copy()        #浅拷贝如果有嵌套,嵌套内容的更改会同时影响到拷贝方和被拷贝方,因为指向同一个地址
# print(li2)
# li1 [4][2] = "aaa"
# print(li1)
# print(li2)
# li2 [4][2] = "bbb"
# print(li1)
# print(li2)

# 4:深拷贝,导入copy库,进行深拷贝操作
# import  copy
# li1 = [11,22,33,44,[12,213,12,13],"qwer"]
# li2 = copy.deepcopy(li1)        #深拷贝,嵌套内容的更改不会同时影响到拷贝方和被拷贝方,因为深拷贝在内存开辟了另一个空间
# print(li2)
# li1 [4][2] = "aaa"
# print(li1)
# print(li2)
# li2 [4][2] = "bbb"
# print(li1)
# print(li2)

# 5:count方法:计算列表内的元素出现的次数
# li = [11,22,33,44,44,55,77,88,"44",[11,22,44]]
# a = li.count(44)        #count只会计算一级元素的个数
# print(a)

# 6:extend方法:扩展列表,将传入的可迭代对象进行遍历扩展在列表末尾;注意:extend传入的参数必须是可迭代的
# li = [11,22,33,44]
# a = li.extend("11111")
# print(a)            #可变对象进行扩展操作后没有返回值
# print(li)
# a1 = li.extend(["qq",77,88])
# print(li)

# 7:index:查找元素索引
# li = [11,22,33,44,"qq"]
# print(li.index(33))

# 8:insert方法:在列表中插入元素,如果超过最大索引则会在末尾追加
# li = [11,22,33,44,"qq"]
# li.insert(2,[111,11])
# print(li)
# print(li.insert(2,666))       #insert方法也没返回值

# 9:删除列表元素
# li = [11, 22, 33, 44,22,"qq",66,77,88,99]
# a1 = li.pop()                #pop方法默认从末尾开始删除,并获取删除的值
# print(a1)
# print(li)
# a2 = li.pop(3)               #pop方法也可以指定索引进行删除,并获取删除的值
# print(a2)
# print(li)
# a3 = li.remove(22)           #remove指定元素进行删除,最左优先从左边开始删除
# print(a3)                    #remove方法没有返回值;如果删除列表中没有的元素会报错
# print(li)

# 10:reverse方法:翻转列表中的元素
# li = [11,22,33,44,"a","c","d"]
# li.reverse()          #没有返回值
# print(li)

# 11:sort方法:对列表的元素进行排序,没有返回值;默认是进行从小到大排序,而且元素必须同时为数字或者字符串
# li = ["a","c","w","0"]          #reverse参数默认为False,也就是默认是进行从小到大排序
# li.sort(reverse = True)         #reverse参数设置为True时,进行从大到小排序
# print(li)
列表的常用方法

 

posted @ 2019-10-10 19:12  青隅  阅读(381)  评论(0编辑  收藏  举报