列表
关键字: list
eg: lst = [ , , , , , , ,]
方法:
增加:
. append( ) #追加,添加元素进列表最后
. insert ( ) #插入 括号里前面放插入的位置(索引),后面是插入的内容
.extend( ) #扩展 只能进行迭代添加, 只能在添加到后面,后面添加可迭代对象
lis = ["1","2","3"] lis.extend("alex") #不设置变量 print(lis) #['1', '2', '3', 'a', 'l', 'e', 'x']
+ 号是合并列表的方法
lis = ["1","2","3"] lis1 = ["4","5","6"] print(lis+lis1) #['1', '2', '3', '4', '5', '6']
lst * 数字 将列表内的元素翻倍输出
lis = ["1","2","3"]
s = lis*3
print(s) #['1', '2', '3', '1', '2', '3', '1', '2', '3']
删除:
.remove() #移除 通过放在括号里的指定元素进行删除.,后面只能加入一个删除参数.只能删除一个.
lis = ["1","2","3","1"] lis.remove("1") print(lis) #['2', '3', '1']
.pop( ) #弹出 默认删除最后一个. 后面可以加元素的索引指定删除的元素
l = lst.pop() #l是返回值,返回被弹出的的元素
.clear( ) #清空 将列表内的元素都删除
del lst #删除整个列表,即将列表删了
del lst [ ] #通过索引删除对应的元素
lis = ["1","2","3","1"] del lis[0] print(lis) #['2', '3', '1']
修改:
lst [] = ' ' #具体替换, 利用索引
lis = ["1","2","3","1"] lis[0] = "hello" print(lis) #['hello', '2', '3', '1']
lst[0:5] = '' #当一次性改多个元素时,当后面是一个元素时,将该元素分开替换,后面是多个元素时,将多个元素分别替换前面的索引.
lis = ["1","2","3","4","5","6","7","8"] lis[0:5] = "hello","wworld" #因为替换范围是前五个,但是替换的只有两个字符串,所以输出如下 print(lis) #['hello', 'wworld', '6', '7', '8']
查:
lst[ ] #利用索引进行查询
通过for循环查询
lis = ["1","2","3"] for i in lis: print(i) # 1 # 2 # 3
列表的其他操作:
操作列表的时候要进行赋值,增删改查的时候不用赋值。
其他的和字符串相通
.reverse( ) #对列表进行翻转 ,没有赋值
lis = ["a","f","c","k","z","b"] lis.reverse() print(lis) #['b', 'z', 'k', 'c', 'f', 'a']
.copy( )
.sort() #按大小对列表进行排序默认升序,对于字母按照单词的首字母按26个字母进行排序,升序, 即按照ASCII进行排序 没有返回值
lis = ["a","f","c","k","z","b"] lis.sort() print(lis) #['a', 'b', 'c', 'f', 'k', 'z']
.sort(reverse=True) #按照单词的首字母按26个字母进行排序,降序
lis = ["a","f","c","k","z","b"] lis.sort(reverse=True) print(lis) #['z', 'k', 'f', 'c', 'b', 'a'] 降序
lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']] lst[-1][1].append('雪碧') print(lst) #[1, '太白', 'wusir', ['麻花疼', ['可口可乐', '雪碧'], '王健林']]
元组 关键字: tuple
元组只能进行索引和计数,还可以切片,切片切出来的还是元组.也能循环,就是不能更改元祖的内容
元组也可以合并,合并是两个的数据类型都应该是tuple
tu = (1) print(type(tu)) #<class 'int'> tu = ("1") print(type(tu)) #<class 'str'> tu = (1,) print(type(tu)) #<class 'tuple'>
tu1 = tu() + (5) #是错误的,因为括号里只有整型一个数据类型,所以表现为整型,不能和元组合并.
tu1 = tu() + (5,) #这样子就可以了
tu = (1,2,3,4)
tu.index( ) #查找
tu.count( ) #计数
tu = (1,2,3,4,5,4,3,2) print(tu.index(3)) # 2查找位置 默认第一个 print(tu.count(4)) # 2 查找个数 print(tu[:4]) #(1, 2, 3, 4),输出元祖 lst = [1,2,3,5] print(lst[0:3]) #[1, 2, 3],输出列表
元祖也可以嵌套
元组中的字符串和数字是不可变的数据类型,而其中嵌套的列表是可以更改的,就是说其所代表的内存没有改变
之所以使用元组主要是因为元组不可改变,安全系数比列表更高!
tu = (1,9,8,5,6,8) print(tu.count(8)) # 2 括号内是需要查找到东西
range
范围 关键字是: range
list (range(0,5)) 输出0 1 2 3 4.
range( , , ) #(起始位置,终止位置,步长)
range()获取的区间是可迭代的.
字典
排序是无序的,在Python3.6版本中虽然显示是有序的但是确实是无序的.
字典 关键字是:dict
是唯一的 键值对 数据: 表现形式: {键:值}
键必须是不可变的数据类型,值是可变的
#故列表是不能当键的
#所以元组(内部没有可变的数据类型)是可以当键的.
#而字典也不可以当字典的键的,因为字典是可变的.
值是没有要求的.
dic = {'Key':1,1:'True',False:'asdf',{1,2,3}:[1,2,3,4]}
#len()是一个python的内置函数,什么数据类型都可以用.
·列表是可变的有序的数据类型,元组是不可变得有序的数据类型的数据类型.
#列表 # lst = [1,2,3,4] ''' lst.extend('a') #增加 只可以添加可迭代对象 ''' ''' lst.append('alex') #追加,默认加到列表最后 ''' ''' lst.insert(0,'alex') #添加指定位置,前面是位置,后面是内容 ''' ''' lst.remove(4) #删除指定元素,后面加入要删除的元素 ''' ''' lst.pop() #默认删除最后一个 i=lst.pop(2) #删除指定索引的元素,并且可以返回删除的值 ''' ''' lst.clear() #清空列表 ''' ''' del lst[1] #删除指定位置的元素 ''' ''' lst[1] = 'alex' #修改指定位置的元素 ''' ''' lst[0:2] = 'alex','wusir' ''' ''' i = lst[0] #查询具体位置的元素 ''' ''' # print(lst) lst = [1,2,3,4,5] s = lst.count(3) print(s) ''' #其他操作 ''' lis = ['1','2','3','9','26','7','3','92','a','c','d'] lis.sort() lis.reverse() print(lis) ''' #列表嵌套 ''' lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']] lst[-1][1].append('雪碧') print(lst[-1][1]) print(lst) ''' ''' lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"] # 将列表lis中的"tt"变成大写(用两种方式) ''' ''' lis[3][2][1][0] = lis[3][2][1][0].upper() print(lis) ''' ''' lis[3][2][1][0] = 'TT' ''' #将列表中的数字3变成字符串"100"(用两种方式) ''' lis[3][2][1][1] = '100' lis[3][2][1][1] = int(lis[3][2][1][1] + 97) print(lis) ''' #将列表中的字符串"1"变成数字101(用两种方是) ''' #lis[3][2][1][-1] = int(lis[3][2][1][-1]) + 100 lis[3][2][1][-1] = 101 print(lis) ''' ''' print(list(range(10,0,-1))) for i in range(100,-1,-2): print(i) ''' #练习一 #写代码,有如下列表,按照要求实现每一个功能 # li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] # 计算列表的长度并输出 # 列表中追加元素"seven", 并输出添加后的列表 # 请在列表的第1个位置插入元素 "Tony", 并输出添加后的列表 # 请修改列表第2个位置的元素为 "Kelly", 并输出修改后的列表 # 请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。 ''' lis = ["alex", "WuSir", "ritian", "barry", "wenzhou"] lenght = len(lis) lis.append('seven') lis.insert(0,'Tony') lis[1] = 'Kelly' s = 'qwert' lis.extend(s) print(lenght,lis) ''' #练习二 # 写代码,有如下列表,按照要求实现每一个功能 # li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] # 请删除列表中的元素"ritian", 并输出添加后的列表 # 请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表 # 请删除列表中的第2至4个元素,并输出删除元素后的列表 ''' lis = ["alex", "WuSir", "ritian", "barry", "wenzhou"] lis.remove('ritian') print(lis) i = lis.pop(1) print(i,lis) del lis[1:4] print(lis) ''' #练习三 # li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] # 将列表li中第三个元素修改成'taibai' # 将列表li中第四个元素修改成'女神' # 将列表li中前三个元素修改成'alex1,alex2,alex3' ''' lis = ["alex", "WuSir", "ritian", "barry", "wenzhou"] lis[2] = 'taibai' print(lis) lis[3] = '女神' print(lis) lis[:3] = 'alex1','alex2','alex3' print(lis) ''' #练习四 # li = [1, 3, 6, 9, 2, 4, 6, 8] # 1. # 将以上这个列表中进行反转 # 2. # 将以上这个列表中进行降序排列 # 利用下划线将列表的每一个元素拼接成字符串 ''' li = ["alex", "wusir", "taibai"] lis = [1, 3, 6, 9, 2, 4, 6, 8] lis.reverse() print(lis) lis.sort(reverse = True ) print(lis) i = '_'.join(li) print(i) '''