Python基础 之 list类-列表

一、list类的基本属性

1. 列表格式

li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]

2. 列表中可以嵌套任何类型

中括号括起来
使用,分割每个元素
列表中的元素可以是 数字,字符串,列表,布尔值;所有的都能放进去。
“集合”,内部放置任何东西

3.索引取值

li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
print(li[3])
#age

4.切片取值

切片结果也是列表

li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
print(li[3:-1])
#['age', ['伊文', ['19', 10], 'even'], 'root']

5.for循环 

li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
for n in li:
    print(n)
#1
#12
#9
#age
#['伊文', ['19', 10], 'even']
#root
#True

二、list类中元素的修改

1.修改

索引修改

li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
li[1] = 120
print(li)
li[1] = [11,22,33,44]
print(li)
#[1, 120, 9, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
#[1, [11, 22, 33, 44], 9, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
索引修改

切片修改

li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
li[1:3] = [120,90]
print(li)
#[1, 120, 90, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
切片修改

2.删除

索引删除

li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
del li[1]
print(li)
#[1, 9, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
索引删除

切片删除

li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
del li[2:6]
print(li)
#[1, 12, True]
切片删除

三、list类的一些操作

1.in操作

判断元素是否在列表里

li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
v1 = "伊文" in li
print(v1)
v2 = "Q" in li
print(v2)
#False    #伊文在嵌套内列表的元素中
#True

2.提取操作

li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
n = li[4][1][0]    #提取第5个元素列表中的第2个元素列表中的第1个元素
print(n)
#19

3.转换

字符串转换列表,内部自己使用for循环

li =  list("evenroot")
new_li = list(li)
print(new_li)
#['e', 'v', 'e', 'n', 'r', 'o', 'o', 't']

列表转换成字符串(既有数字又有字符串的情况)
需要自己写for循环一个一个处理

li = [11,22,33,"123","even"]
s = ""
for i in li:
    s = s + str(i)
print(s)
#112233123even

列表转换成字符串(列表中的元素只有字符串的情况)
直接使用字符串join方法

li = ["123","alex"]
v = "".join(li)
print(v)
#123alex

四、list类中提供的方法

 1.append

在原来值最后整体追加

li = [11,22,33,44]
v = li.append(5)
print(v)
print(li)

v = li.append(["root"])
print(v)
print(li)
#None
#[11, 22, 33, 44, 5]
#None
#[11, 22, 33, 44, 5, ['root']]
append

2.clear

清空列表

li = [11,22,33,44]
li.clear()
print(li)
#[]
clear

3.copy

拷贝(浅拷贝)

li = [11,22,33,44]
v = li.copy()
print(v)
#[11,22,33,44]
copy

4.count

计数,计算元素出现的次数

li = [11,22,33,22,44]
v = li.count(22)
print(v)
#2
count

5.extend

扩展原列表,参数:可迭代对象
一个一个追加元素(区别于append)

li = [11,22,33,22,44]
li.extend([9999,"root"])
print(li)
#[11, 22, 33, 22, 44, 9999, 'root']
extend

6.index

根据值获取当前值索引位置(左优先)

li = [11,22,33,22,44]
v = li.index(33)
print(v)
#2
index

7.insert

在指定索引位置插入元素

li = [11,22,33,22,44]
li.insert(0,99)
print(li)
#[99, 11, 22, 33, 22, 44]
insert

8.pop

删除某个值,并获取删除的值

默认情况

li = [11,22,33,22,44]
v = li.pop()
print(li)
print(v)
#[11, 22, 33, 22]
#44
pop()

指定索引的情况

li = [11,22,33,22,44]
v = li.pop(1)    #拿掉第二个元素
print(li)
print(v)
#[11, 33, 22, 44]
#22
pop(1)

9.remove

删除列表中的指定值(左优先)

li = [11,22,33,22,44]
li.remove(22)
print(li)
#[11, 33, 22, 44]
remove

*到这里为止这几类方法和操作都可以对list类进行修改或删除

pop 
remove 
del li[0]
del li[1:-1]
clear

10.reverse

将当前列表进行反转

li = [11,22,33,22,44]
li.reverse()
print(li)
#[44, 22, 33, 22, 11]
reverse

11.sort

排序

从小到大排序

li = [11,44,22,33,22]
li.sort()
print(li)
#[11, 22, 22, 33, 44]
sort()

从大到小排序

li = [11,44,22,33,22]
li.sort(reverse=True)
print(li)
#[44, 33, 22, 22, 11]
sort(reverse=True)

*cmp key sorted暂不讨论

猜你喜欢

转载自www.cnblogs.com/evenyao/p/9151323.html