python数据类型:list及其方法

1.list  类,列表

li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]

列表由中括号括起来;列表中可以嵌套任何类型;逗号分割每个元素;列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去

列表相当于一个“集合”,内部放置任何东西

2.list类中提供的方法

(1)append():原来列表在最后位置进行追加

li = [11, 22, 33, 22, 44]
li.append(5)
li.append("alex")
li.append([1234,2323])
print(li)

输出结果为:[11, 22, 33, 22, 44, 5, 'alex', [1234, 2323]](只能一个一个元素追加)

(2)clear():清空列表

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

输出结果为:[]

(3)copy():浅拷贝

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

输出结果为:[11, 22, 33, 22, 44]

(4)count():计算元素出现的个数

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

输出结果为:2

(5)extend():扩展原列表 

li = [11, 22, 33, 22, 44]
li.extend([9898,"王强"])
print(li)

输出结果为:[11, 22, 33, 22, 44, 9898, '王强']

相当于内部进行了for循环,和下面的命令输出一致

li = [11, 22, 33, 22, 44]
for i in [9898,"王强"]:
    li.append(i)
print(li)

 extend()的参数是可迭代对象,进入列表中会变成一个个的元素,相比于append()对比结果:[11, 22, 33, 22, 44, [9898, '王强']]

li = [11, 22, 33, 22, 44]
li.extend("不得了")
print(li)

输出结果为:[11, 22, 33, 22, 44, '不', '得', '了'](将字符串中的字符一次追加成一个个的元素)

(6)index():某个元素的索引位置

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

输出结果为:2

(7)insert():指定索引位置插入元素

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

输出结果为:[99, 11, 22, 33, 22, 44]

(8)pop():删除某个元素(1.指定索引;2. 默认最后一个),并获取删除的元素

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

输出结果为:

[11, 22, 33, 22]
44

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

输出结果为:

[11, 33, 22, 44]
22

(9)remove():删除列表中的指定元素,左边优先

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

输出结果为:[11, 33, 22, 44]

(10)reverse():将当前列表进行翻转

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

输出结果为:[44, 22, 33, 22, 11]

(11)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](li.sort(reverse=True):从大到小排序)

3.列表中比较重要的功能

(1)索引取值

li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
print(li[3])

输出结果为:age

索引取值时可以取到列表内部列表元素中的各种元素

li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
print(li[4][1][0])

输出结果为:19

(2)切片取值

li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
print(li[3:-1])

输出结果为:['age', ['王强', ['19', 10], '王思骐'], 'alex']

(3)for循环、while循环

li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
for item in li:
    print(item)

输出结果为:

1
12
9
age
['王强', ['19', 10], '王思骐']
alex
True

(4)索引的方式修改和删除

li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
li[1] = 120
print(li)
li[1] = [11,22,33,44]
print(li)

输出结果为:

[1, 120, 9, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]
[1, [11, 22, 33, 44], 9, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]

注:列表元素,可以被修改

li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
del li[1]
print(li)

输出结果为:[1, 9, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]

(5)切片的方式修改和删除

li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
li[1:3] = [120,90]
print(li)

输出结果为:[1, 120, 90, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]

li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
del li[2:6]
print(li)

输出结果为:[1, 12, True]

(6)in 操作

li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
v1 = "王思骐" in li
print(v1)
v2 = "age" in li
print(v2)

输出结果为:False;True(必须是列表中的元素及以逗号为分割的整体in操作才会显示true)

(7)转换

a.字符串转换列表:li = list("asdfasdfasdf"),相当于内部使用for循环

s = "qwerdf"
new_li = list(s)
print(new_li)

输出结果为:['q', 'w', 'e', 'r', 'd', 'f']

b.列表转换成字符串

当列表元素既有数字又有字符串时: 用for循环一个一个处理

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

输出结果为:112233123alex

当列表元素只有字符串时:直接使用字符串join方法

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

输出结果为:123alex

posted @ 2018-08-30 19:59  王强的Python笔记  阅读(791)  评论(0编辑  收藏  举报