欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第6讲Python列表

程序员文章站 2022-03-03 16:08:36
...

第6讲Python列表

一、列表

1.定义
列表时Python中最基本也是最常用的数据结构之一,它时一个有序可重复的元素集合。从数据结构角度来看,Python的列表时一个可变长度的顺序储存结构,每一个位置存放的都是对象的指针。
我们可以对列表进行修改、切片、追加、删除、嵌套、成员判断等操作。
2.创建
列表使用[]来表示的 用list来表示

lst=['1236','张三','李四','王五']

3.列表中元素读取

lst=['1236','张三','李四','王五']
print (lst[0])    #0表示列表中第一个元素
1236   #输出显示

4.修改列表内的元素

lst=['1236','张三','李四','王五']
lst[0]=100   #第一个元素替换为100
print(lst)
[100, '张三', '李四', '王五'] #输出显示  

5.删除列表内的元素

  • pop del remove
#pop
lst=['1236','张三','李四','王五']
print (lst)  #0表示列表中第一个元素
lst.pop()   #默认删除最后一个元素
lst.pop(1)  #删除索引为1的元素
print(lst)
#del
lst=['1236','张三','李四','王五']
# print (lst)  #0表示列表中第一个元素
# lst.pop()   #默认删除最后一个元素
# lst.pop(1)  #删除索引为1的元素
# print(lst)
print(lst)
del lst[0]   #删除索引为0的元素
print(lst)   #删除列表lst
del lst
print(lst)
lst.remove('1236')  #删除列表中元素为1236
lst.remove(100)     #删除列表中元素为100
#lst.remove()        #必须带有元素 
print(lst)

6.列表的特殊操作
列表相加
列表展开
成员判断
迭代

lst_1 = [1,3,5]
lst_2 = [2,4,6]
print(lst_1 + lst_2)  # [1, 3, 5, 2, 4, 6]
print(lst_1*3)  # [1, 3, 5, 1, 3, 5, 1, 3, 5]
print(2 not in lst_1)  # true 用成员运算符in / not in 来判断元素是否在列表内,返回bool值
print(4 not in lst_2)  # False
lst_1 = [1,3,5]
for i in lst_1:
    print(i)  # 遍历列表元素

7.常用内置函数
max()最大值
min()最小值
index()从元素索引位置(第一个位置)
count()统计元素在列表中的个数
len()元素个数
append() 在列表末尾添加新的对象
insert(index, object)将对象插入列表
extend()用新列表扩展原来的列表
copy()–>复制列表
clear()–>清空列表

lst=[2,5,6,9,5,5]
print (max(lst)) #元素中最大值
print (min(lst)) #元素中最小值
print (lst.index(5)) #元素索引位置,有多个时只返回第一个位置
print(lst.count(5))  #统计元素在列表中的个数
print(len(lst))      #元素个数
lst.append('ab')
print(lst)#[2, 5, 6, 9, 5, 5, 'ab']
lst.insert(2,'ab') #2位置插入ab
print(lst)#[2, 5, 'ab', 6, 9, 5, 5, 'ab']
lst.extend(['a','b','c']) #['a','b','c']加入到lst中
print(lst)
b=lst.copy() #复制列表
print(b)
print(b.clear())#清空列表

8.排序与反转
反转reverse()

lst=[2,5,3,2,15,25,30,32,1]
# print (lst[::-1]) #逆序取出
lst.reverse()   #逆序
print(lst)

列表排序sort()

lst=[2,5,3,2,15,25,30,32,1]
lst.sort()   #排序
print(lst)  #[1, 2, 2, 3, 5, 15, 25, 30, 32]

9.切片
slice(start,stop[,step])
start: 起始位置默认为0
stop:结束位置默认最后一个元素
step:可选参数:步长,默认为1

a=list('0123456789')
b=a[0:10:2]
print(b) #['0', '2', '4', '6', '8']

作业

1、多种方法实现a = [1, 2, 3, 4, 5, 6]–>[6, 5, 4, 3, 2, 1]

a=[1, 2, 3, 4, 5, 6]
print(a[::-1])
a.reverse()
print(a)

2、给用户9次机会,猜1-10的数字,要求用户猜对的几率为

num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
num_b=num.copy()
for i in range(1, 10):
    b = int(input(f'请猜数字1-10,您还有{10-i}次机会:'))
    if b in num :
        num.remove(b)
    print('抱歉,猜错了!')
print(f'对不起!您的次数已经用完,正确的数字为:{num[0]}')

3、有两个列表li1=[11, 22, 33],li2=[22, 33, 44],获取它们中相同的元素

li1=[11, 22, 33]
li2=[22, 33, 44]
b=[]
for i in range(len(li1)):
    for j in range(len(li2)):
        if li1[i]==li2[j]:
            b.append(li1[i])
print(f'相同元素为:',b)

4、将8位老师随机分配到3个办公室中

import random
li=[1,2,3,4,5,6,7,8]
a=[]
b=[]
c=[]
for i in range(0, 8):
    tc_i = random.randint(0, len(li) - 1)
    random.choice([a,b,c]).insert(0,li[tc_i])
    li.remove(li[tc_i])
print(f'第一间:{a},第二间:{b},第三间{c}')
相关标签: python笔记