python列表

列表

问中ps部分,有一些快捷键,是针对pycharm软件使用的

什么是列表

列表是Python中最基本也是最常用的数据结构之一。列表中的每个元素都被分配一个数字作为索引, 用来表示该元素在列表内所排在的位置。第一个元素的索引是0,第二个索引是1,依此类推。
Python的列表是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删除,成员判断。
从数据结构角度看,Python的列表是一个可变长度的顺序存储结构,每一个位置存放的都是对象的 指针。

列表的创建方式

# l=[] # ----第一种
# l=list() # -------第二种
l=list('str')
# out:['s', 't', 'r']
# ------------------------------------
l = list((1, 2, 3))
print(l)
# out:[1, 2, 3]
# ------------------------------------
l=[1, 'struggle', 3]
print(l)
# out:[1, 'struggle', 3]

ps:

  1. 看python源代码的方式,ctrl+鼠标点击
  2. pep8 规则:用于提高代码的可读性
  3. 所有可以用for循环的都是可迭代的(Iterable)
for i in 'str':
    print(i)    

访问列表值

lis=['a', 'b', 'c']#-------注意列表中的索性从0开始
value=list[1]#------------取我们看到的第二个元素
#out:b

ps:

  1. TypeError:类型错误
  2. indexError:索性错误

修改元素的值

lis=['a', 'b', 'c']#--------改变列表中b的值
lis[1]='shell' # -------- 不能赋值列表中不存在的元素
print(lis)
#out:
['a', 'shell', 'c']    

ps:

  • 快速复制当前行ctrl+d

列表删除

lis=['a', 'b', 'c']
del lis[0]#-----------方法1使用del
print(del)
#out:['b', 'c']
print(lis.remove('a'))#------方法2使用remove,remove是移除第一次出现的值
print(lis)
#out:None------------注意使用remove返回的值为空
#out:['b', 'c']
print(lis.pop())#----------方法3使用pop函数,注意pop默认删除最后一个元素,且pop会有一个返回值
print(lis)
#out:c------默认删除最后一个,返回最后一个的值
print(lis.pop(1)) # --------指定删除
# out:b

列表的拼接

lis1=[1,2,3]
lis2=[4,5,6]
lis3=lis1 + lis2#--------第一种拼接的方法
print(lis3)
#out:[1, 2, 3, 4, 5, 6]
lis3=lis1.__add__(lis2)#----左右两边各2个下划线,魔法方法
print(lis3)
#out:[1, 2, 3, 4, 5, 6]

注意,列表不能相乘
但如果乘一个数呢?
lis1=[1,2,3]*3
print(lis1)
# out:[1, 2, 3, 1, 2, 3, 1, 2, 3]

列表的特殊操作

lis=['花果山', '水帘洞', '齐天大圣', '美猴王']
print('水帘洞' in lis)
# out: True
lis=['花果山', '水帘洞', '齐天大圣', '美猴王']
for i in lis:
    print(i)
# out: 
# 花果山
# 水帘洞
# 齐天大圣
# 美猴王   

列表的常用函数

lis=[1, 2, 3, 4]
print(len(lis))# ------查看列表的长度
print(lis.__len__())# -------魔法方法
# out:4
print(max(lis))
print(min(lis))
# out:4
# 1


## 转换类型
s = 1
print(type(s))
# out:<class 'int'>
print(type(str(s)))
# out:<class 'str'>

列表的排序和反转

lis=[1, 2, 3, 4, 5, 6]
print(lis.reverse())
print(lis)
lis.sort()
print(lis)
lis.sort(reverse=True)
print(lis)
# None
# [6, 5, 4, 3, 2, 1]
# [1, 2, 3, 4, 5, 6]
# [6, 5, 4, 3, 2, 1]

IN PLACE修改本身

列表的内置方法

append(obj)         # 在列表末尾添加新的对象
count(obj)          # 统计某个元素在列表中出现的次数
extend(seq)         # 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) index(obj)从列表中找出某个值第一个匹配项的索引位置
insert(index, obj)  # 将对象插入列表
pop(obj=list[-1])   # 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 remove(obj) 移除列表中某个值的第一个匹配项
remove(obj)         # 移除列表中某个值的第一个匹配项
reverse()           # 反向列表中元素
sort([func])        # 对原列表进行排序
copy()              # 复制列表
clear()            # 清空列表,等于del lis[:]
li = ['a', 'b', 'c', 'd', 'a']
print(li.count('a'))
li.append(['花果山', '水帘洞'])
print(li)
li.extend(['定海针', '万妖朝'])
print(li)
li.insert(6,'e')
print(li)
# 2
# ['a', 'b', 'c', 'd', 'a', ['花果山', '水帘洞']]
# ['a', 'b', 'c', 'd', 'a', ['花果山', '水帘洞'], '定海针', '万妖朝']
# ['a', 'b', 'c', 'd', 'a', ['花果山', '水帘洞'], 'e', '定海针', '万妖朝']
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值