python中列表的定义和操作

1.列表的定义

列表格式:列表名=[元素1,元素2,...]
例:my_list = [1, 2, 3, True]
空列表的定义:my_list = []    或    my_list = list()

2.列表的循环遍历

(1)for 循环遍历

my_list = ["a","b","c","d"]
for value in my_list:
     print(value) 

结果:

a
b
c
d

(2)while 循环遍历

my_list = ["a","b","c","d"]
# 定义变量
index = 0
# 定义变量 记录列表元素个数
l = len(my_list)
while index < l:
    # 通过下标索引获取元素
    value = my_list[index]
    print(value)

结果:

a
b
c
d

3.列表的常见操作

(1)添加元素(append,extend,insert)

    1、append  向列表添加元素        

my_list = [1, 2]
my_list.append([1, 3, 4])
print(my_list)
# 结果   [1, 2, [1, 3, 4]            

   2、extend  将另一个集合中的元素逐一添加到列表中            

my_list = [1, 2]
my_list.extend([1, 3, 4])
print(my_list)
# 结果  [1, 2, 1, 3, 4]

   3、insert(index, object) 在指定位置index前插入元素object

my_list = [1, 2]
my_list.insert(1, "ab")
print(my_list)
# 结果   [1, 'ab', 2, 1, 3, 4]

(2)修改元素

修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改

# 将3改成33
my_list = [1, 3, 5, 7, 9, 1]
my_list[1] = 33
print(my_list)

(3)查找元素(in, not in, index, count)

所谓的查找,就是看看指定的元素是否存在    

   1、in (存在), 如果存在那么结果为true,否则为false      

my_list = [1, 3, 5, 7]
if 3 in my_list:
    print("找到了3")
else:
    print("没有找到")

   2、not in (不存在),如果不存在那么结果为true,否则false   

my_list = [1, 3, 5, 7]
if 10 not in my_list:
    print("10不存在列表中")

   3、index 通过元素的值 获取元素的下标索引  

my_list = [1, 3, 5]
ret = my_list.index(3)
print(ret)

   4、count 获取元素出现的次数

my_list = [1, 3, 5]
count = my_list.count(1)
print(count)

(4)删除元素(del,pop,remove)

   1、del:根据下标进行删除

my_list = [1, 3, 4, 6]
# del 列表名[下标索引]
del my_list[1]
print(my_list)
# 结果[1, 4, 6]

   2、pop:删除最后一个元素

my_list = [1, 3, 4, 6]
# 列表名.pop(下标索引)
my_list.pop(1) # 结果[1, 4, 6]
# 列表名.pop()会删除列表中最后一个元素
my_list.pop() # 结果 [1, 3, 4]

   3、remove:根据元素的值进行删除

my_list = [1, 3, 4, 6]
# 列表名.remove(元素)
my_list.remove(6)
print(my_list)
# 结果 [1, 3, 4]

   4、clear:清空列表中的内容[]

my_list = [1, 3, 4, 6]
my_list.clear()
print(my_list)
# 结果 []

(5)排序(sort,reverse)

# 定义一个列表
my_list = [1, 10, 3, 4, 2, 7]
# sort #升序 sort(reverse=False)等价于sort()
my_list.sort()
print(my_list) # 结果 [1, 2, 3, 4, 7, 10]
# sort(reverse=True)降序
my_list.sort(reverse=True)
print(my_list) # 结果 [10, 7, 4, 3, 2, 1]
#逆置
ret = reversed(my_list)
print(list(ret)) # 结果 [7, 2, 4, 3, 10, 1]

my_list.reverse()
print(my_list) # 结果 [7, 2, 4, 3, 10, 1]

4.列表的嵌套

schoolNames = [['北京大学','清华大学'],['南开大学','天津大学','天津师范大学',["啊哈"]],['山东大学','中国海洋大学']]

# 打印天津大学
name = schoolNames[1][1]
print(name)

# 打印啊哈
ret = schoolNames[1][3][0]
print(ret)

5.列表的嵌套应用

一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配

# 导入模块
import random
# 准备办公室
my_list = [[], [], []]
# 准备好8位老师
teacher = "ABCDEFGH"
# 遍历老师 获取每名老师
for name in teacher:
    # 获取随机数(为了下标索引)
    index = random.randint(0, 2)
    # 通过下标索引获取对应的办公室
    my_list[index].append(name)
print(my_list)

6.列表推导式

(1)创建一个列表 里面的元素分别为1,2,3,...10

my_list = [i for i in range(1,11)]
print(my_list)

(2)创建一个列表 里面的元素分别是1-10中的偶数

my_list = [i for i in range(1,11) if i % 2 == 0]
print(my_list)

(3)列表中有多个元素 每个元素的类型为元组 有两个元素 

 [(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

my_list = [(i,j) for i in range(1,3) for j in range(0,3)]
print(my_list)

(4)实现分组一个 list 里面的元素,比如 [1,2,3],...100]变成 [[1,2,3],[4,5,6]....]

a = [x for x in range(1,101)]
b = [a[x:x+3] for x in range(0,len(a),3)]
print(b)













展开阅读全文

没有更多推荐了,返回首页