Python学习day4(列表,元组,range()方法)

北慕城南 提交于 2020-03-23 02:46:37

列表:

列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

li = [‘hyg’,123,Ture,(1,2,3,’hum’),[1,2,3,’小明’,],{‘name’:’lyy’}]

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
列表中通过索引,切片,切片+步长操作与字符串中一样

列表的增、删、改、查及其他方法

# append  追加
li = [1, 3, 'hyg', [2], 5]
li.append(9)
print(li)
#显示:[1, 3, 'hyg', [2], 5, 9]

#insert 按索引插入在钙索引前
li = [1, 3, 'hyg', [2], 5]
li.insert(1, '宝元')
print(li)
#显示:[1, '宝元', 3, 'hyg', [2], 5]

# extend  迭代着追加
li = [1, 3, 'hyg', [2], 5]
li.extend('abc')
print(li)
#显示:[1, 3, 'hyg', [2], 5, 'a', 'b', 'c']

li = [1, 3, 'hyg', [2], 5]
li.extend([111, 222, 333])
print(li)
#显示:[1, 3, 'hyg', [2], 5, 111, 222, 333]

# pop 按照索引去删除(有返回值)
li = [1, 3, 'hyg', [2], 5]
ret = li.pop(1)
print(ret) # 返回值为删除的元素
print(li)
#显示:3
#    [1, 'hyg', [2], 5]

# remove 按照元素删除(无返回值)
li = [1, 3, 'hyg', [2], 5]
li.remove('hyg')
print(li)
#显示:[1, 3, [2], 5]

# clear 清空整个列表
li = [1, 3, 'hyg', [2], 5]
li.clear()
print(li)
#显示:[]

del
# 可以按照索引删除
li = [1, 3, 'hyg', [2], 5]
del li[0]
print(li)
#显示:[3, 'hyg', [2], 5]
# 可以按照切片删除(可以加步长)
li = [1, 3, 'hyg', [2], 5]
del li[:2]
del li[3:]
del li[1::2]
print(li)
# 可以在内存级别删除整个列表
li = [1, 3, 'hyg', [2], 5]
del li
print(li)
#这个列表在内存中已经不存在了,运行后会报错。

# 按照索引改
li = [1, 3, 'hyg', [2], 5]
li[2] = 'lyy'
li[-1] = '泰迪'
#按照切片(加步长)
# 按照切片
li[:2] = 'sbsbsb'
li[:4] = [11,22,33,44,55,66,77]
# 按照切片 + 步长  一一对应
 li[1:3] = 'af'
print(l1)

# 索引,切片,切片+步长
#for 循环
li = [1, 3, 'hyg', [2], 5]
for i in li:
    print(i)

其他方法

#count(数)(方法统计某个元素在列表中出现的次数)
a = ['q', 'w', 'q', 'w', 'o', 'p']
print(a.count('q'))
#index(方法用于从列表中找出某个值第一个匹配项的索引位置)
a = ['q', 'w', 'q', 'w', 'o', 'p']
print(a.indext('w'))
#sort (方法用于在原位置对列表进行排序)
#reverse (方法将列表中的元素反向存放)
a = [2,1,3,4,5]
a.sort()#从小到大 他没有返回值,所以只能打印a
a.sort(reverse=True)#从大到小
a.reverse()#反转,他也没有返回值,所以只能打印a

列表的嵌套

#l3 = ['alex', 'wusir', ['taibai', 99, 'ritian'], 20]
# 1, 找到alex的e元素。
# s1 = l3[0]
# print(s1)
# print(s1[2])
# s2 = l3[0][2]
# print(s2)
# 2, 将wusir变成大写。
# w1 = l3[1]
# w2 = w1.upper()
# l3[1] = w2
# print(l3)

# l3[1] = 'WUSIR'
# l3[1] = l3[1].upper()
# print(l3)

# 3, 给此列表['taibai',99,'ritian'] 追加一个元素,'文周'
# print(l3[2])
# l3[2].append('文周')
# print(l3)
# 4,将 'taibai' 首字母大写。
# print(l3[2][0])
# s1 = l3[2][0].capitalize()
# # print(s1)
# l3[2][0] = s1

# l3[2][0] = l3[2][0].capitalize()
# l3[2].append(666)
# l3[2][0].capitalize()
# print(l3)

# 5,将 99 通过数字加1 的方式变成100,并放回原处。
# l3[2][1] = l3[2][1] + 1
# l3[2][1] += 1
# print(l3)

元组:只读列表,只允许查询,不允许增删改

 #tu1 = ('alex', 100, True, [1, 2, 3], {'name':'太白'},(22, 33))
# 索引,切片,切片+步长
# print(tu1[0])
# print(tu1[:3])
# # for 循环
# for i in tu1:
#     print(i)
# index,len,count
# 应用场景: 一些非常重要的数据,不允许所有人修改的,放在元组中。
# tu1[3].append(666)
# tu1.append(666) 错的
# 元组 儿子不能改,孙子可能可以改。
# print(tu1)

range() 自定制的 数字范围的 可迭代对象类比成列表

# range(1,101)
# print(range(1,101))
# range() 一般和for 循环结合使用。
# for i in range(1,11):
#     print(i)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!