列表入门

列表


序列

序列是Python中最基本的一种数据结构,用来保存一组有序的数据,序列里所有的数据都有唯一的索引值,还可以按照顺序分配索引

可变序列:列表

不可变序列:字符串,元组


列表快速入门

列表是Python中的一个对象,能够保存任何类型的有序数据

列表的创建
lst = []  #创建空列表
lst = list(字符串)
切片

语法:

list_name[起始位置:终止位置:步长]

切片:

#hero = ['钢铁侠','蜘蛛侠','蝙蝠侠','绿巨人','奇异博士','雷神']

# 步长默认为1
# print(hero[1:3])

# 省略终止位置
# print(hero[2:])

# 省略起始位置
# print(hero[:3])

#起始位置和终止位置都省略
# print(hero[:])

# 步长设置为2
# print(hero[1:4:2])
# print(hero[::2])

#逆序输出(步长为负数)
# print(hero[::-1])
通用操作
# hero = ['钢铁侠','蜘蛛侠','蝙蝠侠','绿巨人','奇异博士','雷神']

# 计算列表长度(列表内元素个数)
# print(len(hero))

# +运算
# print(hero+['死侍','美国队长'])
# print(hero)

# *运算(重复)
# print(hero*3)
# print(hero)

# 求最大最小值
# print(max(hero))
# print(min(hero))

# 判断元素是否在列表内(返回值为True或False)
# print('黑豹' in hero)
# print('蜘蛛侠' in hero)
# print('黑豹' not in hero)

# index()返回某元素在列表中的位置,可以限定范围内查找
# print(hero.index('绿巨人'))
# print(hero.index('奇异博士',2,5))

# count()返回某元素在列表中的个数,没有时返回0
# a = hero * 3
# print(a.count('蜘蛛侠'))
# print(hero.count('战神'))

# 以上这些通用操作亦可以在字符串中操作
# str = 'Sleet'
# print(str.count('e'))
修改列表

通过索引修改

# hero = ['钢铁侠','蜘蛛侠','蝙蝠侠','绿巨人','奇异博士','雷神']
# print('修改前:',hero)
# hero[2] = '黑豹'
# print('修改后',hero)

通过del进行修改

# hero = ['钢铁侠','蜘蛛侠','蝙蝠侠','绿巨人','奇异博士','雷神']
# del(hero[2])
# print('修改后:',hero)

通过切片修改

# hero[1:3] = '黑寡妇'
# hero[1:3] = ['黑寡妇']
# print('修改后:',hero)

# hero[::2] = '黑寡妇'
# hero[::2] = ['黑寡妇']
# print('修改前:',hero)

注意

  • 当进行切片操作时,切片后的元素个数小于要替换的元素个数时,会依次顺延一个位置
  • 当设置了步长时,序列中的元素个数必须和切片中的元素个数一致

列表的方法

append(x)

在列表的最后添加一个元素x

# hero = ['黑寡妇','奇异博士','蜘蛛侠','蝙蝠侠','钢铁侠']
# hero.append('美国队长')
# print(hero)
insert(索引,x)

在索引位置上插入一个元素x

hero = ['黑寡妇','奇异博士','蜘蛛侠','蝙蝠侠','钢铁侠']
# hero.insert(2,'美国队长')
# print(hero)
extend(序列)

使用序列来扩展当前序列,extend()传递的参数是序列

hero = ['黑寡妇','奇异博士','蜘蛛侠','蝙蝠侠','钢铁侠']
# hero.extend(['美国队长','黑豹'])
# hero.extend('美国队长')
# hero.extend(['美国队长'])
# hero.extend(123)  # TypeError: 'int' object is not iterable
# print(hero)
remove(x)

直接删除列表中的元素,没有返回值

hero = ['黑寡妇','奇异博士','蜘蛛侠','蝙蝠侠','钢铁侠']
# r = hero.remove('蜘蛛侠')
# print(hero)
# print(r)
pop(索引)

通过索引值删除对应的元素,可以返回该元素值

hero = ['黑寡妇','奇异博士','蜘蛛侠','蝙蝠侠','钢铁侠']
# r = hero.pop(2)
# print(hero)
# print(r)
clear()

清空列表

hero = ['黑寡妇','奇异博士','蜘蛛侠','蝙蝠侠','钢铁侠']
# hero.clear()
# print(hero)
reverse(list)

使列表倒序输出

hero = ['黑寡妇','奇异博士','蜘蛛侠','蝙蝠侠','钢铁侠']
# hero.reverse()
# print(hero)
sort(reverse=False)

对列表里的元素进行排序,默认reverse=False(升序),如果要降序,则reverse=True

hero = ['黑寡妇','奇异博士','蜘蛛侠','蝙蝠侠','钢铁侠']
# lst = list('asdfagwqecsadfe')
# lst.sort() # 升序
# lst.sort(reverse=True)  # 倒序
# print(lst)

列表的遍历

for 循环

语法:for 变量 in 序列(遍历的规则)

# lst = list('asdfagwecsa')
# for i in lst:
#     print(i,end='')
range()

语法:range(start,end,step)

  • start:开始位置,没有时默认为0
  • end:结束位置,但不包括结束位置的值,比如range(5) = [0,1,2,3,4]
  • step:步长,没有时默认为1
    range(5) <=> range(0,5) <=> range(0,1,5)
# print(range(5))
# r = range(5)
# print(list(r))
for 循环与 range() 的搭配
# lst = list('asdfagwecsa')
# for i in range(5):
#     print(lst[i],end='')

# for i in range(len(lst)-1):
#     print(lst[i],end='')

以上为个人总结+资料查询,欢迎批评指正~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值