一.列表
列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作。
-
列表切片
1
2
3
4
5
6
7
8
|
names
=
[
"fengxiaoli"
,
"Cx"
,
"#wang"
,
"3bin"
,[
"dudu"
,
"longlong"
],
"fengye"
,
"Cx"
]
print
(names[
0
],names[
1
])
print
(names[
0
:
2
])
print
(names[:
2
])
print
(names[
-
1
])
print
(names[
-
3
:
-
1
])
print
(names[
-
3
:])
print
(names[
0
:
-
1
:
2
])
#0开头,-1结尾,间隔2;0和-1可省
|
2.打印列表
1
2
3
4
|
print
(names)
for
i
in
names:
#遍历列表中的值
print
(i)
|
3.增加
1
2
3
|
names.append(
"chenjia"
)
#从列表最后增加
names.insert(
1
,
"xiaoming"
)
#制定位置增加
print
(names)
|
4.修改
1
2
|
names[
1
]
=
"daming"
print
(names)
|
5.删除
1
2
3
4
5
|
names.remove(
"daming"
)
#指定字符删除
names.pop(
1
)
#按索引号删除
names.clear()
#删除整个列表
del
names[
0
:
3
]
#指定索引删除
print
(names)
|
6.获取下标
1
2
|
print
(names.index(
"3bin"
))
#打印3bin所在的下标
print
(names[names.index(
"3bin"
)])
#打印3bin所在的下标所对应的值
|
7.其他
1
2
3
4
5
6
7
8
9
|
names.reverse()
#将列表中的值反向
print
(names)
print
(names.count(
"Cx"
))
#统计Cx
names2
=
[
1
,
2
,
3
,
4
]
names.extend(names2)
#合并列表names和names2
names.sort()
#排序
|
8.浅复制,深层列表数据和复制前指向同一内存地址
1
2
3
4
5
6
7
8
9
|
names3
=
names.copy()
names[
1
]
=
"cxcx"
#更改names中数据后,names3只有第一层列表未受影响,二级列表改变,说明二级列表中names和names3指向同一内存地址
names[
4
][
0
]
=
"DUDU"
print
(names)
print
(names3)
#输出结果
# ['fengxiaoli', 'cxcx', '#wang', '3bin', ['DUDU', 'longlong'], 'fengye', 'Cx']
# ['fengxiaoli', 'Cx', '#wang', '3bin', ['DUDU', 'longlong'], 'fengye', 'Cx']
|
9.深copy ,列表中所有数据复制到一个新的内存地址,当数据量太大时,慎用
1
2
3
4
5
6
7
8
9
10
11
|
import
copy
names
=
[
"fengxiaoli"
,
"Cx"
,
"#wang"
,
"3bin"
,[
"dudu"
,
"longlong"
],
"fengye"
,
"Cx"
]
names3
=
copy.deepcopy(names)
#copy.copy()也是浅copy
names[
1
]
=
"cxcx"
#更改names列表中的数据,复制后的names3不受影响
names[
4
][
0
]
=
"DUDU"
print
(names)
print
(names3)
#输出结果
# ['fengxiaoli', 'cxcx', '#wang', '3bin', ['DUDU', 'longlong'], 'fengye', 'Cx']
# ['fengxiaoli', 'Cx', '#wang', '3bin', ['dudu', 'longlong'], 'fengye', 'Cx']
|
二.元组
元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表
它只有2个方法,一个是count,一个是index。
1
2
3
4
5
6
7
8
9
|
names
=
(
"we"
,
"are"
,
"chinese"
,
"happy"
,
"new"
)
#切片
print
(names[
0
],names[
1
])
print
(names[
0
:
2
])
print
(names[:
2
])
print
(names[
-
1
])
print
(names[
-
3
:
-
1
])
print
(names[
-
3
:])
print
(names[
0
:
-
1
:
2
])
#0开头,-1结尾,间隔2;0和-1可省
|
本文转自 fxl风 51CTO博客,原文链接:http://blog.51cto.com/fengxiaoli/2064250