小白跟着大神学Python——Day04 list列表,tuple元组

今日内容

1.介绍列表list

s1 = '1 True alex'
1.像这样:s1[2:6]取值费劲
2.对字符串进行任何操作,取出来的数据都是字符串类型,不方便。
3.字符串长度 限制(只能存储少量的字符串类型的数据)。
基于以上原因,python提供了另一个数据类型:list 容器类数据类型。
 
列表,能装对象的对象.有顺序的(按照我们添加的顺序保存)。
列表也叫数组,可以存放大量的任意数据类型。
32位python的限制是 536870912 个元素,
64位python的限制是 1152921504606846975 个元素。
在代码中使用[]表示列表,列表中可以放任意的数据,每一项数据与数据之间用逗号隔开。
字符串,数字,字母,特殊字符,列表l1 = [1,‘太白’,True,[1,2,3],(1,2,){'name':'alex'},集合]
列表同样拥有切片的功能。

2.基本用法

2.1.索引,切片(步长)

2.2.增删改查。

(1)新增
lst = [‘西红柿首富’,‘无双’,’影‘,‘超能泰坦’]
 
append# 追加。 添加到末尾(重点之重)
lst.append(‘找到你’)
lst.append(‘鬼子来了’)
lst.append(‘前任4’)
注意:print(lst.append()) 是没有返回值,none
 
insert #插入,效果不高,导致索引的变更
lnsert(0,‘建国大业’)
extend() #迭代添加
lst.extend(‘周杰伦’)#字符串迭代添加会以字符串组成元素分开
lst.extend([‘周杰伦’])#字符串迭代添加会以字列表组成元素分开
(2)删除:
lst = ['杰森斯坦森',‘勒布朗詹姆斯’,‘尼古拉斯凯奇’,‘郭达森’]
# pop() 弹出一个,默认弹出最后一个
lst.pop()
lst.pop(1)
ret = lst.pop()#返回值是被删除的元素 增删改查唯一一个有返回值
 
lst.remove()#移除,指定元素
lst.remove(‘勒布朗詹姆斯’) #移除第一个 ,指定元素 会涉及到元素的移动
 
del #切片删除
del lst[2] #按照索引删除单个元素,类似pop
del lst[2:] #按照切片删除删除一部分元素
del lst[1:5:2] #切片(步长)删除一部分元素
 
#lst.clear()#清空列表
 
(3)修改
lst = [‘周杰伦’,‘周笔畅,‘’周星驰’,‘周润发’]
lst[1] = '周星星' #指定索引去修改(重点)
lst[1:3] = '马虎疼' #迭代修改
lst[::2] =#迭代'马疼',产生两个窟窿,用‘马’,‘疼 ’替代
 
注意:lst[::2] =['马虎疼'],产生两个窟窿,而['马虎疼'只有一个],产生报错
(4)查询
for i in lst:#列表可以使用for 循环,list 是一个可迭代对象。
# i 表示列表中的每一项

2.3.其他操作

(1)len(1st)#元素长度,而不是字符串
(2)lst.count() # 计算其列表中字符串的个数
(3)index() 通过元素找索引,只有index,没有find
(4)lst.sort() #数字排序,从小到大,升序      #字母则是由ascii码的顺序排列,其他文字也是按照编码顺序。
(5)lst.sort(reverse=True) #倒序,降序,从大到小
(6)lst.reverse()#反过来

2.4.列表的嵌套

lst = [['葫芦娃','黑猫警长','西游记'],['武斗乾坤','斗破苍穹','盘龙'],['三体','明朝那些事儿',['大汉王朝']]]
print(lst)
print(lst[1][0]
#降维,一层一层找
 

4.元组

4.1元组#tuple表示,由()组成内部元素用逗号隔开

创建之初存放一些重要的个人信息,密码等,
特点:不允许任何人改变。 也有索引和切片功能,这叫只读列表。

4.2基本用法:

l1 =(1,‘太白’,True,等等)
注意:如果只有一个元素 s =(1,),要加逗号
 
 
t = (‘娃哈哈’,‘爽歪歪’,‘酸酸乳’,'三鹿奶粉','AD钙奶')
print(t[0])
print(t[0:5])#切片的结果是元祖
 
!!!不支持修改操作
注意:元祖的第一层不可变,里面的列表里面的内容改变,不影响(儿子不能改,孙子能改)
 

4.3相关操作

元祖也有count(),index(),len()等方法
元祖除了增删改,(有查),与列表使用相同。
 

5.range()

#range翻译为范围,可视为自定一个 可控范围 的 数字列表
l1 = range(1,10) #顾头不顾尾 range 多半与for 结合
print(l1) #不是列表,但是可以迭代
用for循环获取数据
#[0,100)区间
for i in range(1,100,3):
print(i)
注意:range(100,1,-1)才是倒序。

posted on 2018-12-24 19:42  C_Jayson  阅读(123)  评论(0)    收藏  举报

导航