python之列表及其方法---整理集

列表类,类名是list

通过list类创建对象,使用中括号

列表特性:

    使用中括号括起来
中间用逗号分隔每个元素
元素可以是数字、字符串、布尔值、列表
列表中可以嵌套列表
列表中每个元素的下标从0开始
可以使用切片取得每个元素,取得的结果也是列表;
可以使用while或者for循环取得元素;
列表中的元素可以被修改;
列表在内存中是以链表的形式存储;
列表在内存中存储时,除了内容之外还保存有下个元素的位置信息

例如:创建list类的对象,这个对象的变量名是li

li=[1,12,9,"age","alex"]
print(li[3])
返回结果:
age

li=[1,12,9,"age","alex"]
print(li[1:-1])
返回结果:
[1, 12, 9, 'age']

li=[1,12,9,"age","alex"]
for item in li:
print(item)
返回结果:
1
12
9
age
alex

#列表的修改:
li=[1,12,9,"age","alex"]
li[1]=120
print(li[1])
返回结果:
120 #切片方法批量修改
li=[1,12,9,"age","alex"]
li[1:3]=[120,90] 列表的删除:
方法1,索引方式
li=[1,12,9,"age","alex"]
del li[1]
print(li) 方法2,切片方式
li=[1,12,9,"age","alex"]
del li[1:3]
print(li) 列表的in操作,常用于判断列表中的某个值是否存在
li=[1,12,9,"age","alex"]
v= 12 in li
print(v)
返回结果:
True #列表中的元素以逗号分隔作为一个整体
li=[1,12,9,"age","alex"]
v= lex in li
print(v)
返回结果:
False #嵌套内的某一个不能单独查找
li=[1,12,9,"age",["QQ","mail",222],"alex"]
v="QQ" in li
print(v)
返回结果:
False li=[1,12,9,"age",["QQ","mail",222],"alex"]
v=["QQ","mail",222] in li
print(v)
返回结果:
True #如果要查找某个元素内的值,需要具体指定
li=[1,12,9,"age",["QQ","mail",222],"alex"]
v="lex" in li[5]
print(v)
返回结果:
True li=[1,12,9,"age",["QQ","mail",222],"alex"]
v="QQ" in li[4]
print(v)
返回结果:
True

***************列表的其它说明及方法***************

#嵌套列表的取值
li=[1,12,9,"age",["QQ",["19",10],222],"alex"]
v=li[4][1][0]
print(v)
返回结果:
19

#类型转换
#字符串转换到列表
#把字符串中每个字符当作列表的元素
#内部原理是把字符串for循环,取得每个字符作为列表的元素
#所以,数字类型不能转换为列表
str1="helloworld"
li=list(str1)
print(li)
返回结果:
['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

s=123
li=list(s)
print(li)
返回结果:
TypeError: 'int' object is not iterable

#列表转换成字符串
#需要自己写for循环
#这适用于列表中元素有数字和字符串的混合
li=[123,444,"abc","qq"]
str1=""
for i in li:
str1+=str(i)
print(str1)
返回结果:
123444abcqq

#如果列表中只有字符串,没有数字,可以使用join方法
li=["abc","qq"]
str1="".join(li)
print(str1)
返回结果:
abcqq

####列表的方法####

1.append方法:在列表末尾追加

li=[11,22,33,44]
li.append(5)
print(li)
返回结果:
[11, 22, 33, 44, 5]

2.clear方法:清空列表

li=[11,22,33,44]
li.clear()
print(li)
返回结果:
[]

3.copy方法:列表拷贝

li=[11,22,33,44]
v=li.copy()
print(v)
返回结果:
[11, 22, 33, 44]

4.count方法:计算列表中某元素出现的次数

格式:必须给参数

  <list>.count(<元素>)

li=[11,22,33,22,44]
v=li.count(22)
print(v)
返回结果:
2

5.extend方法:传入可迭代参数,追加到列表中,与append方法的区别是extend方法迭代传入的参数,把每个值追加到列表中,而append方法不迭代,直接把参数放到列表中
格式:
    extend(<可迭代的对象>)
    可迭代的对象有:字符串、列表、元组、字典

#演示与append的区别
#append方法:作为一个整体追加
li=[11,22,33]
li.append([123,"QQ"])
print(li)
返回结果:
[11, 22, 33, [123, 'QQ']] #extend方法:迭代每个元素分别添加
li=[11,22,33]
li.extend([123,"QQ"])
print(li)
返回结果:
[11, 22, 33, 123, 'QQ'] li=[11,22,33]
li.extend("hello")
print(li)
返回结果:
[11, 22, 33, 'h', 'e', 'l', 'l', 'o']

6.index方法:返回列表元素出现的位置,如果有重复的列表元素,则只返回第1个找到元素位置
格式:
    index(<列表元素>)

li=[11,22,33,44]
v=li.index(33)
print(v)
返回结果:
2 li=[11,22,33,44,33]
v=li.index(33)
print(v)
返回结果:
2

7.insert方法:向列表中指定的位置添加元素
格式:
    insert(<位置>,<可迭代参数>)

li=[11,22,33,44,33]
li.insert(0,99)
print(li)
返回结果:
[99, 11, 22, 33, 44, 33]

8.pop方法:删除列表中指定位置的元素,不指定位置时默认删除最后一个元素,可以返回被删除的值
格式:
    pop([index])

li=[11,22,33,44,33]
v=li.pop()
print(li)
print(v)
返回结果:
[11, 22, 33, 44]
33 #删除指定位置的元素
li=[11,22,33,44,33]
v=li.pop(1)
print(li)
print(v)
返回结果:
[11, 33, 44, 33]
22

9.remove方法:删除列表中指定元素,如果有重复元素,则默认删除第1个
格式:
    remove(<value>)

li=[11,22,33,44,33]
li.remove(22)
print(li)
返回结果:
[11, 33, 44, 33] li=[11,22,33,44,33]
li.remove(33)
print(li)
返回结果:
[11, 22, 44, 33]

10.reverse方法:将列表进行反转

li=[11,22,33,44,33]
print(li)
li.reverse()
print(li)
返回结果:
[11, 22, 33, 44, 33]
[33, 44, 33, 22, 11]

11.sort方法:对列表中元素排序,默认升序,可以指定为降序

li=[11,44,22,33]
li.sort()
print(li)
li.sort(reverse=True)
print(li)
返回结果:
[11, 22, 33, 44]
[44, 33, 22, 11]
上一篇:为啥我的网站服务器访问速度慢?网站都没人看了


下一篇:java 5 Lock