list的基本功能
- 结果类型 中括号括起来
- 逗号(,)分割每个元素
- 列表中的元素能够是数字,字符串,列表,布尔值全部的都能放
- 索引,切片
1
2
3
|
li
=
[
1
,
3
,
5
,
"jianer"
, [
"病毒尖儿"
,
18
],
"cat"
]
print
(li[
1
])
# 索引取值
print
(li[
2
:
4
])
# 切片取值(切片的结果也是列表)
|
- 支持for循环
1
|
li
=
[
1
,
3
,
5
,
"jianer"
, [
"病毒尖儿"
,
18
],
"cat"
]<br>
for
item
in
li:
# for循环列表<br> print(item)
|
- 支持while循环
- 索引删除,切片删除
1
2
3
4
5
|
li
=
[
1
,
3
,
5
,
"jianer"
, [
"病毒尖儿"
,
18
],
"cat"
]
del
li[
0
]
# 索引删除
print
(li)
del
li[
0
:
3
]
# 切片删除
print
(li)
|
- 索引修改,切片修改
1
2
3
4
5
|
li
=
[
1
,
3
,
5
,
"jianer"
, [
"病毒尖儿"
,
18
],
"cat"
]
li[
0
]
=
88
# 索引修改
print
(li)
li[
0
:
3
]
=
7
,
8
,
9
# 切片修改
print
(li)
|
- in操做
1
2
3
|
li
=
[
1
,
3
,
5
,
"jianer"
, [
"病毒尖儿"
,
18
],
"cat"
]
v
=
3
in
(li)
# in操做
print
(v)
|
- 索引找值
1
2
3
|
li
=
[
1
,
3
,
5
,
"jianer"
, [
"病毒尖儿"
,
18
],
"cat"
]
v
=
li[
4
][
0
][
2
]
# 索引找并打印
print
(v)
|
转换python
- 列表转换成字符串
- 须要本身写for循环一个一个处理:既有数字又有字符串
- 直接使用字符串join方法:只有字符串
list的方法(魔法)
-
须要记忆的魔法有:append(追加),extend(扩展),insert(插入)app
append 原来值最后追加,数字,字符,列表均可以进行追加ide
1
2
3
|
li
=
[
6
,
8
,
7
,
5
,
8
]
li.append(
2
)
# 追加再最后 原来值再后面追加,所以不用赋予新的值
print
(li)
|
clear 清空列表post
1
2
3
|
li
=
[
6
,
8
,
7
,
5
,
8
]
li.clear()
# 清空列表
print
(li)
|
copy 拷贝(浅拷贝)ui
1
2
3
|
li
=
[
6
,
8
,
7
,
5
,
8
]
v
=
li.copy()
# 拷贝,浅拷贝
print
(li)
|
count 计数(计算元素出现的次数)spa
1
2
3
|
li
=
[
6
,
8
,
7
,
5
,
8
]
v
=
li.count(
8
)
# 计算元素出现的次数
print
(v)
|
extend 扩展原列表,参数可迭代对象(数字不能扩展,数字不可迭代)code
1
2
3
|
li
=
[
6
,
8
,
7
,
5
,
8
]
li.extend(
"b"
)
# 扩展追加。
print
(li)
|
index 根据值获取值的指引位置对象
1
2
3
|
li
=
[
6
,
8
,
7
,
5
,
8
]
v
=
li.index(
8
)
# 根据值获取值的索引位置
print
(v)<br><br>
1
重复字符,获取最左边位置,便再也不寻找
|
insert 插入,也能够根据指引位置插入元素blog
1
2
3
|
li
=
[
6
,
8
,
7
,
5
,
8
]
li.insert(
2
,
"b"
)
# 前面参数指定索引,逗号分隔,加要插入的元素
print
(li)
|
pop 可索引删除某个值,无索引则默认删除最后一个值,赋予一个值也能够得到被删除的值排序
1
2
3
4
|
li
=
[
6
,
8
,
7
,
5
,
8
]
v
=
li.pop(
2
)
# 指定索引删除,无索引则默认删除最后一个值,也能够获取删除的值
print
(li)
print
(v)
|
remove 删除列表指定值,左边优先
1
2
3
|
li
=
[
6
,
8
,
7
,
5
,
8
]
li.remove(
8
)
# 删除列表指定值,从左优先
print
(li)
|
reverse 将当前列表进行反转
1
2
3
|
li
=
[
6
,
8
,
7
,
5
,
8
]
li.reverse()
# 将当前列表进行反转
print
(li)
|
sort 排序,有秩序的排序。
1
2
3
|
li
=
[
6
,
8
,
7
,
5
,
8
]
li.sort(reverse
=
True
)
# 当反转正确,则从大到小排序
print
(li)
|
列表推导式
列表推导式提供了从序列建立列表的简单途径。一般应用程序将一些操做应用于某个序列的每一个元素,用其得到的结果做为生成新列表的元素,或者根据肯定的断定条件建立子序列。
每一个列表推导式都在 for 以后跟一个表达式,而后有零到多个 for 或 if 子句。返回结果是一个根据表达从其后的 for 和 if 上下文环境中生成出来的列表。若是但愿表达式推导出一个元组,就必须使用括号。
1 vec = [2,4,6] 2 go = [3*x for x in vec] 3 print(go) 4 5 [6, 12, 18] # 这里咱们将每一个数据乘以三,获取一个新列表
1 freshfruit = [' banana', ' loganberry ', 'passion fruit '] 2 go = [weapon.strip() for weapon in freshfruit] 3 print(go) 4 5 ['banana', 'loganberry', 'passion fruit'] #对序列每一个元素逐个调用方法
也能够用if子句做过滤
1 vec = [2,4,6] 2 go = [x for x in vec if x >3] 3 print(go) 4 5 [4, 6]
其它一些示例

1 >>> vec1 = [2, 4, 6] 2 >>> vec2 = [4, 3, -9] 3 >>> [x*y for x in vec1 for y in vec2] 4 [8, 6, -18, 16, 12, -36, 24, 18, -54] 5 >>> [x+y for x in vec1 for y in vec2] 6 [6, 5, -7, 8, 7, -5, 10, 9, -3] 7 >>> [vec1[i]*vec2[i] for i in range(len(vec1))] 8 [8, 12, -54]