python3 列表操作

- 创建列表

#创建列表:

list1 = [1, 2, 3, 4, 5]

 

- 向列表中添加元素

  - append

# 向列表中添加元素:

list1 = [1, 2, 3, 4, 5]
list1.append(6)
list1

[1, 2, 3, 4, 5, 6]
# 使用append向列表中添加多个元素

list1 = [1, 2, 3, 4, 5]
list1.append(6, 7)
list1

 File "<ipython-input-7-12eec7711550>", line 4
    list1.append(6, 7)
                  ^
SyntaxError: invalid character in identifier
# 这里发现无法使用append添加多个元素,所以需要下面的extend

 

  - extend

# 向列表中增加列表内容:

list1 = [1, 2, 3, 4, 5]
list1.extend([6, 7, 8]) # 注意这里追加的是一个列表
print(list1)

[1, 2, 3, 4, 5, 6, 7, 8]

 

- 从列表中获取元素

  - 单层列表元素的获取

# 获取单层列表中的元素

list1 = [1, 2, 3, 4, 5]
list1[0]

1

 

  - 双层列表元素的获取

# 获取双层列表中的元素

list1 = [1, 2, 3, 4, [5, 6]]

list1[4][0]

5

 

- 从列表中删除元素

  - remove

# 使用remove搜索第一个该元素并删除

list1 = [1, 2, 3, 4, 5]

list1.remove(2)
list1

[1, 3, 4, 5]

 

  - pop

# 使用pop弹出元素,如果不指定默认弹出最后一个元素

list1 = [1, 2, 3, 4, 5]

list1.pop(1)
list1

[1, 3, 4, 5]

 

  - del

# 使用del删除指定下标元素

list1 = [1, 2, 3, 4, 5]

del list1[1]
list1

[1, 3, 4, 5]

 

- 列表的分片

  - 普通分片

# 普通分片
# 注意左边的下标从0开始,右边的下标=下标值 - 1
list1 = [1, 2, 3, 4, 5]

print(list1[1:5])

[2, 3, 4, 5]

 

  - 高级分片

    - 间隔分片

# 间隔分片

list1 = [1, 2, 3, 4, 5]

list2 = list1[0:5:2]
print(list2)

[1, 3, 5]

 

    - 翻转分片

# 翻转分片

list1 = [1, 2, 3, 4, 5]

list3 = list1[::-1]
print(list3)

[5, 4, 3, 2, 1]

 

- 列表元素的插入

# 列表中元素的插入

list1 = [1, 3, 4, 5]

list1.insert(1, 2)

print(list1)

[1, 2, 3, 4, 5]

 

- 列表成员操作符

# 成员操作符

list1 = [1, 2, 3, 4, 5]

print(6 in list1)
print(5 in list1)

False
True

 

- 列表元素的计数

# 列表元素计数

list1 = [1, 1, 2, 3, 3, 3, 4, 5]

count1 = list1.count(3)
print(count1)

3

 

- 列表元素的翻转

# 列表中元素的翻转

list1 = [1, 2, 3, 4, 5]

list1.reverse()
print(list1)

[5, 4, 3, 2, 1]

 

- 列表元素的排序

# 列表中元素的排序(默认为从小到大)

list_A = [5, 4, 3, 2, 1]
list_B = [1, 2, 3, 4, 5]

list_A.sort()
list_B.sort(reverse=True)
print(list_A)
print(list_B)

[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]

 

- 显示列表元素下标

# 显示列表中第一个该元素的下标

list1 = [1, 2, 3, 4, 5]

print(list1.index(3))

2

 

- 关于列表分片的补充

# 关于列表的切片其实是复制此列表产生新列表
# 如果只是简单的基于列表的指向,则修改B列表会影响A列表本身
# 如果是基于切片复制的,则修改此列表并不会对原列表产生影响

list1 = [1, 2, 3, 4, 5]

list2 = list1[:]
list3 = list1

list2.reverse()

print(list1)
print(list2)
print(list3)

print(id(list1))
print(id(list2))
print(id(list3))

[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
[1, 2, 3, 4, 5]
4350409736
4351221640
4350409736

 

posted @ 2019-02-28 14:29  huskiesir  阅读(290)  评论(0编辑  收藏  举报