第三章 数据类型 — 列表(list)、元组(tuple)

一、列表
- 列表是写在[]之间的,每一项元素使用逗号分隔开的数据类型
- 列表可以完成大多数集合类的数据结构实现,列表中的元素的类型可以不相同,它支持数字、字符串甚至可以包含列表,也就是列表的嵌套
1 索引和切片
- 列表同字符串一样,有索引也可以切片,只不过切片得到的是一个列表
变量[头下标:尾下标:步长]
1 list = ['abcd', 786, 2.23, 'bast', 70.2]
2 tinylist = [123, 'bast']
3  
4 print(list) # 输出完整列表
5 print(list[0]) # 输出列表第一个元素
6 print(list[1:3]) # 从第二个开始输出到第三个元素
7 print(list[2:]) # 输出从第三个元素开始的所有元素
8 print(tinylist * 2) # 输出两次列表
9 print(list + tinylist) # 连接列表
和字符串不相同的是:列表是可以发生改变的,能够直接在原来的对象上进行操作
2 “增”
li = [1,'a','b',2,3,'a']
# li.append('aaa') #增加到最后 # li.append([1,2,3]) #增加到最后
 
# li.insert(0,55) #按照索引去增添指定元素,插入每一个数据的位置都需要向后移动,效率比较低
 
# li.extend(['q,a,w']) #迭代的去增 # li.extend(['q,a,w','aaa']) # li.extend('a') # li.extend('abc') # li.extend('a,b,c')
3 “删”
l1 = li.pop(1)    #按照索引位置去删除,有返回值,默认为最后一个 
print(l1)
 
del li[1:3]    #按照位置去删除,也可切片删除没有返回值。 
print(li) # li.remove('a')    #按照元素去删除 
print(li) # li.clear()    #清空列表  
4 “改”
# li[1] = 'dfasdfas' # 索引改 

# print(li) # li[1:3] = ['a','b'] #切片改 如果步长数不是1, 要注意元素个数 
# print(li)
5 “查”
切片去查,或者用循环去查
for el in li:
    print(el)
6 其他操作
- count() : 方法用来统计元素在列表中出现的次数
a = ["q","w","q","r","t","y"] 
print(a.count("q"))
- index() : 从列表中找某个元素第一个匹配项的索引位置
a = ["q","w","r","t","y"] 
print(a.index("r"))
- sort() : 排序,默认为升序,reverse = True为降序
- reverse() : 将列表中的元素反向存放
a = [2,1,3,4,5] a.sort()    # 他没有返回值,所以只能打印a 
print(a) a.reverse()    #他也没有返回值,所以只能打印a 
print(a)
7 列表的嵌套
采用降维操作,一层一层分析
lst = [1, "dalao", "jiumo", ["马花藤", ["可口可乐"], "王监零"]]
 
# 找到"dalao"
print(lst[1])
 
# 找到"dalao"和"jiumo"
print(lst[1:3])
 
# 找到"dalao"的"a"
print(lst[1][1])
 
# 将"jiumo"然后字母大写,在放回去
s = lst[2]
s = s.capitalize()
lst[2] = s
print(lst)
# 简写
lst[2] = lst[2].capitalize()
print(lst)
 
# 把"dalao"换成"dadiao"
lst[1] = lst[1].replace("lao", "diao")
print(lst)
 
# 把"马花藤"换成"马化藤"
lst[3][0] = lst[3][0].replace('', '')
print(lst[3][0])
 
lst[3][1].append("雪碧")
print(lst)
二、元组
1. 特性:
元组(tuple)俗称不可变的列表,又可以被看成只读列表。元组写在小括号里,元素之间用逗号隔开。
元组中的元素的类型可以不相同。虽然tuple的元素不可变,但是他可以包括可变的对象,比如list列表。
元组与字符串类似,可以被索引,下标从0开始,-1作为结尾。可以做切片处理。
元组构造如果只包含0个或者1个元素的时候有特殊的语法规则:
1 tup1 = () # 空元组
2 tup2 = (20,) # 一个元素,需要在元素后添加逗号
元组可以使用+操作符进行拼接
2 操作
元组不允许“增、删、改”。
元组允许“查看”、“循环“、”切片“
查看的方式可以使用索引,也可以使用 for 循环
1 print(tu[2])
2 print(tu[::2])
注意:
元组是不允许操作,但是元组有count(),index(),len()等方法。并且元组内的子元素是可以进行操作的,这取决与子元素是否是是可变对象。
1 # 例如子元素为列表list时,可以对列表中的元素进行操作:
2 tu = (1,"哈喽", "how are you?", "jiumo", ["jiumo"])
3 tu[4].append("dada")
4 print(tu)
3 range()方法
range()是一个可迭代对象
—— range(n) ==> 0 ——> n -1
1 for i in range(0, 10):
2 print(i) # 输出结果为 0,1,2 ......9
—— range(n,m) ==> n ——> m
1 for i in range(2, 0):
2 print(i) # 输出结果为 2,3,4......9
—— range(n, m, i) ==> n ——> m 步长为i
1 lst = ["马頔", "陈粒", "赵雷", "好妹妹"]
2 for i in range(len(lst)):
3 print(i)
4 print(lst[i])

转载于:https://www.cnblogs.com/jiumo/p/9398388.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值