【菜鸟零基础学习笔记】Day12-列表、元组、字典-【列表篇】

list列表:通过list类创建的对象

特点:中括号;用逗号分割每个元素;列表中的元素可以是数字、字符串、布尔值、列表。。。(内部可以放置任何东西);列表是有序的,元素可以被修改;列表在存储的时候不是连续存储的,所以不仅要存储每个元素的值,还要存储下个元素的位置。

 

【索引和切片】

li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]

print(li[0])   #1

print(li[3:5])   #>=3,<5 切片的结果也是列表

print(li[3:-1])

 

【for循环】

li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]

for item in li:

    print(item)

输出为:
1
12
9
age
['abc', ['19', 10], 'alex', 3]
name
True

 

【while循环】

 

【修改:列表的元素可以被修改,因为列表是不连续存储的】

example1:

li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
li[1] = 120
print(li)

输出为:
[1, 120, 9, 'age', ['abc', ['19', 10], 'alex', 3], 'name', True]

example2:

li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
li[1:3] = [120,90]  #包含第1项,不包含第3项
print(li)

输出为:
[1, 120, 90, 'age', ['abc', ['19', 10], 'alex', 3], 'name', True]

 

【del 删除】

example1:

li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
del li[1]
print(li)

输出为:
[1, 9, 'age', ['abc', ['19', 10], 'alex', 3], 'name', True]

example2:

li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
del li[2:6]
print(li)

返回:
[1, 12, True]

 

【in 判断是否在列表中】

li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
v = 120 in li
print(v)

返回:
False

 

【索引】

li = [1,12,9,'age',['abc',['19',10],'alex',3],'name',True]
v = li[4][1][0][1]
print(v)   #9 

#li[4][1][0]可以得到字符串,字符串也可以索引

 

【list() 将字符串转成列表】

s = 'apple'

new_li = list(s)

print(new_li)   #['a', 'p', 'p', 'l', 'e']

 

【str()】

li = [11,22,33,'123','alex']
r = str(li)
print(r)   #[11, 22, 33, '123', 'alex']

 

【如果列表中既有数字又有字符串时:将列表转换成字符串,需要自己写for循环一个个处理】

li = [11,22,33,'123','alex']
s = ''
for i in li:
    s += str(i)
print(s)   #112233123alex

 

【如果列表中只有字符串,用join()函数将列表转换成字符串】

li = ['123','alex']
v = ''.join(li)
print(v)   #123alex

 

【append()】

def append(self,p_object):...   #p_object是参数

examples:

li = [11,22,33,44]
v = li.append(5)
print(v)   #None
print(li)   #[11, 22, 33, 44, 5]

#说明append可以直接在原列表的基础上修改,不需要给将结果赋给另外一个变量

----------------------------------------------------------------

li = [11,22,33,44]
li.append(5)
print(li)   #[11, 22, 33, 44, 5]

----------------------------------------------------------------

li = [11,22,33,44]
li.append(['alex',99])
print(li)   #[11, 22, 33, 44, ['alex', 99]]

 

【clear()清空列表】

li = [11,22,33,44]
li.clear()
print(li)   #[]

 

【copy() 浅拷贝】

li = [11,22,33,44]
v = li.copy()
print(v)   #[11,22,33,44]

 

【count()计算元素出现的次数:注意需要传入一个参数】

li = [11,22,33,44]
v = li.count(22)
print(v)   #1

 

【extend() 扩展原来的列表:参数是可迭代对象(字符串、列表)】

example1:

li = [11,22,33,44]
li.extend([9898,'不得了'])
print(li)   #[11, 22, 33, 44, 9898, '不得了']

PS:注意和append()的区别

example2:

li = [11, 22, 33, 44]
li.extend('不得了')
print(li)   #[11, 22, 33, 44, '不', '得', '了']



li = [11, 22, 33, 44]
li.append('不得了')
print(li)   #[11, 22, 33, 44, '不得了']

 

【index() 根据值获取当前索引位置(左边优先)】

li = [11, 22, 33, 44]
v = li.index(22)
print(v)   #1

 

【insert() 在指定索引位置插入元素】

li = [11, 22, 33, 44]
li.insert(0,99)
print(li)   #[99, 11, 22, 33, 44]

 

【pop() 删除某个值,并获取删除的值(可以指定索引,未指定时默认删除最后一个)】

example1:

li = [99, 11, 22, 33, 44]
v = li.pop()
print(li)   #[99, 11, 22, 33](默认将最后一个元素删除)
print(v)   #44(获取那个被删除的值)

example2:

li = [99, 11, 22, 33, 44]
v = li.pop(1)
print(li)   #[99, 22, 33, 44]
print(v)   #11

 

【remove() 删除】

li = [99, 22, 33, 44]
li.remove(22)
print(li)

PS:pop、remove、del、li[0](index)、del li[7:9]、clear都有删除的意思

 

【reverse() 将当前列表进行反转】

li = [99, 22, 33, 44]
li.reverse()
print(li)   #[44, 33, 22, 99]

 

【sort() 列表的排序】

li = [11,44,22,33,22]
li.sort()
print(li)   #[11, 22, 22, 33, 44]

------------------------------------------------------

li = [11,44,22,33,22]
li.sort(reverse = True)
print(li)   #[44, 33, 22, 22, 11]

 

【enumerate() 】

描述:

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

语法:

enumerate(sequence, [start=0])

#参数:
#sequence -- 一个序列、迭代器或其他支持迭代对象
#start -- 下标起始位置
#返回 enumerate(枚举) 对象

example1:

seasons = ['Spring', 'Summer', 'Fall', 'Winter']
v = list(enumerate(seasons))
print(v)   #[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

---------------------设定下标起始值---------------------

seasons = ['Spring', 'Summer', 'Fall', 'Winter']
v = list(enumerate(seasons, start=1))   #下标从1开始
print(v)   #[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

example2:用来达到普通for循环的效果

-------------------普通for循环-------------------

i = 0
seq = ['one', 'two', 'three']
for element in seq:
    print(i, seq[i])
    i +=1

#0 one
#1 two
#2 three

-------------------enumerate()-------------------

seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
    print (i, element)

#0 one
#1 two
#2 three

相关参考资料网址:

python enumerate()函数

PS:还涉及到两个参数:cap和key(以后再说)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值