Python入门(六)

列表

  • 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串,甚至可以包含列表(所谓嵌套)。
  • 列表是写在方括号[ ]之间,用逗号分割开的元素列表
  • 列表索引值以0为开始值,-1为末尾的开始位置
  • 列表可以使用+操作符进行拼接,使用*表示重复
# namelist = []   #定义一个空的列表

namelist=['小赵','小王','小李']
#遍历列表 for 和 while
#for 循环遍历列表,比较方便,下述例子两行代码可以遍历
for name in namelist:
    print(name)
#while循环遍历列表,虽然比较复杂,但是可以通过下标进行元素上的一些操作
i=0
length = len(namelist)
while i<length:
    print(namelist[i])
    i += 1
#增:append expend insert

#append:在列表末尾添加元素
namelist.append('小孙')
print(namelist)

#可以将一个列表(作为一个整体元素),添加到一个列表中
a = [1,2]
b = [3,4]
a.append(b)
print(a)

#使用extend方法可以将一个列表中的元素拆开,依次添加到另一个列表中
namelist.extend(b)
print(namelist)
print(type(namelist[4])) #添加进去的数字为int格式,列表中的元素可以包含多种数据类型

#insert方法:可以在指定位置插入元素,列表位置从0开始
namelist.insert(1,'小胖')
print(namelist)
# 删:del、pop、remove
newlist = ['七里香','枫','一路向北','兰亭序']

#del:通过索引删除指定位置的元素
del newlist[0]#删除七里香
print(newlist)

#pop,通过索引弹出指定位置的元素,不输入索引默认弹出最后一个
newlist.pop()
print(newlist)

#remove:通过内容来删除列表中的指定元素
newlist.remove('一路向北')
print(newlist)
#改:直接通过给列表中对应位置的元素赋值来进行修改
list = ['你','我','他']
list[2] = '她'
print(list)
#查:in 、not in、index、count
letterlist = ['a','b','c','b','a']
print('d' in letterlist)#返回值为Boolean类型,此处返回False,因为列表里面没有字符串d
letter = input('您输入的字母是')
if letter in letterlist:
    print('您输入的字母在字母表中')
else:
    print('不在')

#index
#可以查找指定下标范围的元素,并返回找到对应数据的下标(只能查找到第一个对应数据)
print(letterlist.index('a',0,5))
#查找区间左闭右开,上面返回0,位置4上的a对结果没有影响
print(letterlist.index('a',1,4))
#上面输出语句查找不到时会报错

#count:统计某个元素在列表中出现几次
print(letterlist.count('a'))#输出为2
#排:包括发转reverse和排序sort
#reverse
a = [1,4,3,2]
a.reverse()#将列表反转,成为既定结果
print(a)#输出[2,3,4,1]

#sort
a.sort()#自动升序排列[1,2,3,4]
print(a)
a.sort(reverse=True)#降序排列[4,3,2,1]
print(a)
#列表嵌套:类似于二维数组
#将8个老师ABCDEFGH,随机置于三个办公室
import random

persons = ['A','B','C','D','E','F','G','H']
offices=[[],[],[]]#定义一个空的嵌套列表
#将8个人随机分到三个办公室中
for person in persons:
    rdmint = random.randint(0, 2)  # 左闭右闭区间
    offices[rdmint].append(person)
#遍历办公室
for office in offices:
    length = len(office)
    print('当前办公室有%d人' % length)
    for officer in office:
        print('分别是%s'%officer,end='\t')
    print('\n')

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值