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]