Python中的列表

一、 列表基础知识

1、列表的元素类型

列表中的元素可以是任何类型

l0 = [1, "hello world", ["A", "B", ["C1", "C2", "C3"]], range(10)]
print(l0)
# [1, 'hello world', ['A', 'B', ['C1', 'C2', 'C3']], range(0, 10)]

2、 列表的下标

列表中的列表的索引值是从第一层列表的索引开始到最后一层列表

l0 = [1, "hello world", ["A", "B", ["C1", "C2", "C3"]], range(10)]
print(l0[2])
print(l0[2][2])
print(l0[2][2][2])
# ['A', 'B', ['C1', 'C2', 'C3']]
# ['C1', 'C2', 'C3']
# C3

3、 列表类型转换

(1)、list() 转换的内容要求为可迭代的,转换后拆分为列表
s0 = "hello world"
l1 = [1, 5, "ok"]
print(list(s0))
print(list(range(10)))
print(list(l1))
# ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# [1, 5, 'ok']
(2)、其他转换函数

 int()/float()/bool()/str()
 转换内容: 数字、形式为整数的字符串/数字,字符串/任意类型/任意类型

4、空列表为假

(1)、[ ]为假
if []:
    print("[]为真")
else:
    print("[]为假")
# []为假
(2)、None/ 0 / "" /False:都表示假 

二、 可变的列表与不可变的字符串

1、iterable[可迭代的]。

iterable表示可迭代的,即可拆分的,可使用for循环,如:range()/str/list。

2、普通变量、字符串为不可变类型;列表、字典等为可变类型。

3、列表的可变表示列表中的发生变化时,列表的内存位置不变。

print(l1, id(l1))
l1.append(None)
print(l1, id(l1))
# [1, 5, 'ok'] 1543334029504
# [1, 5, 'ok', None] 1543334029504

 4、在字符串中,不能改变字符串的内容,即在字符串中重新赋值是改变变量指向的内存位置。

s0 = "hello"
print(s0, id(s0))
s0 = "hi"
print(s0, id(s0))
# hello 2686123592880
# hi 2686123593200

三、列表的遍历

1、用索引遍历,可找出对应元素

for i in range(len(l0)):
    print(i, l0[i])
# 0 1
# 1 hello world
# 2 ['A', 'B', ['C1', 'C2', 'C3']]
# 3 range(0, 10)

2、直接遍历列表

for e in l0:
    print(e)
# 1
# hello world
# ['A', 'B', ['C1', 'C2', 'C3']]
# range(0, 10)

四、列表的操作方法

1、添加类型

l0 = [1, 2, 3, "hello word", range(5), ["a", "b", "c"], "ok"]
(1)、append:在末尾添加;append没有返回值,是将元素添加在l0中
print(l0.append(3.14))
print(l0)
# None
# [1, 2, 3, 'hello word', range(0, 5), ['a', 'b', 'c'], 'ok', 3.14]
(2)、insert(index, obj) 在指定下标的位置添加指定元素。
l0.insert(2, "python")
print(l0)
# [1, 2, 'python', 3, 'hello word', range(0, 5), ['a', 'b', 'c'], 'ok', 3.14]
(3)、expend(iterable) 将 可迭代元素 插入末尾。
l0.extend(range(3))
print(l0)
# [1, 2, 'python', 3, 'hello word', range(0, 5), ['a', 'b', 'c'], 'ok', 3.14, 0, 1, 2]

2、删除类型

(1)、pop:默认删除最后一个,并有返回值
r = l0.pop()
print(r, l0)
# 2 [1, 2, 'python', 3, 'hello word', range(0, 5), ['a', 'b', 'c'], 'ok', 3.14, 0, 1]

也可定义索引值 

r = l0.pop(4)
print(r, l0)
# hello word [1, 2, 'python', 3, range(0, 5), ['a', 'b', 'c'], 'ok', 3.14, 0, 1]
(2)、remove:删除指定元素;元素不存在直接报错,不返回内容。
r = l0.remove(3)
print(r, l0)
# None [1, 2, 'python', range(0, 5), ['a', 'b', 'c'], 'ok', 3.14, 0, 1]
(3)、clear:清空列表
l0.clear()
print(l0)
# []

3、统计次数:count

l1 = [1, 2, 3, 3, range(5), [3, "b", "c"], "ok"]

统计元素在列表中出现的次数,并返回;找不出返回0;列表只统计第一层列表。

r = l1.count(7)
a = l1.count(3)
print(r, a)
# 0 2

4、找索引:index

找出在列表中的下标索引,可指定开始与结束索引;找不出直接报错。

r = l1.index("ok")
print(r)
# 6

5、逆序列表:reverse

逆置列表 没有返回值

r = l1.reverse()
print(r, l1)
# None ['ok', [3, 'b', 'c'], range(0, 5), 3, 3, 2, 1]

6、排序:sort

l2 = [3, 6, 1, 0, 5]
l3 = [3, 6, 1, 0, 5]
# sort  排序  默认正序
# sort(reverse = True)
l2.sort()
l3.sort(reverse=True)
print(l2)
print(l3)
# [0, 1, 3, 5, 6]
# [6, 5, 3, 1, 0]

你可能感兴趣的:(python,java,前端)