list:列表
>>>----可以被修改。修改成元素,元素可以使单独的数字,也可以是:新的list。
通过:链表。。每个元素存储的时候,同时会指向下一个元素。
二、list编辑修改方法
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda']
2.1 索引
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] print(li[1])
结果:2
2.2 切片
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] b=li[0:-1] c=li[0:4] d=li[1:3] print(b) print(c) print(d)
[1, 2, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a']] [1, 2, 'alex', 'ds'] [2, 'alex']
2.3 修改:切片修改,变为元素。。单个修改,则是插入新的列表
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] li[1]=[11,12,23] print(li)
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] li[1:3]=[32,23,23,233] print(li)
[1, [11, 12, 23], 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
[1, 32, 23, 23, 233, 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] li[1]=120 print(li) li[1]=[11,12,23] print(li) a=li[1:3] print(a) li[1:3]=[32,23,23,233] print(li)
[1, 120, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda'] [1, [11, 12, 23], 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda'] [[11, 12, 23], 'alex'] [1, 32, 23, 23, 233, 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
2.4 删除
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] del li[1] print(li) del li[0:2] print(li)
[1, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda'] ['ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
2.5 for循环、while循环
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] for i in li: print(i)
1 2 alex ds 都是 alex ['是正文', '赖晓', 'a'] jda
2.6 in 判断操作
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] v=2 in li print(v)
True
2.7 操作
li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True] v=li[3][1][0]
print(v)
结果:19
2.8 字符串转化为列表
a="dsdsadasdasl" v=list(a) print(v)
['d', 's', 'd', 's', 'a', 'd', 'a', 's', 'd', 'a', 's', 'l']
2.9 列表→字符串
1、整体转化
li=[1,2,'alex','ds','都是','alex','jda'] v=str(li) print(v) # 把整个li整体转化为字符串
[1, 2, 'alex', 'ds', '都是', 'alex', 'jda']
2、每个元素转化:只能自己写for循环。列表中:既有数字又有字符串
s='' li1=[1,2,'alex','ds','都是','alex','jda'] for i in li1: a=str(i) s += a print(s)
12alexds都是alexjda
3、列表中只有字符串:可用jion进行拼接
li1=['alex','ds','都是','alex','jda'] print("".join(li1))
alexds都是alexjda
2.10 用len()
函数可以获得list元素的个数:
li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True] print(len(li))
运行结果:7
三、list内置方法大全
# 对象.方法(..) list.append(self.参数)
3.1、append(self.,p_object):原来自最后追加。
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] #1、append 原来值最后追加.不需要一个新的变量来接受,a=li.append(5) li.append(5) li.append("dsds") li.append([12,'dsds']) print(li)
[1, 2, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda', 5, 'dsds', [12, 'dsds']]
3.2 li.clear 清空列表
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] li.clear() print(li)
[]
3.3 li.copy 拷贝 浅拷贝
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] v=li.copy() print(v)
[1, 2, 'alex', 'ds', '都是', 'alex', ['是正文', '赖晓', 'a'], 'jda']
3.4 count 计算元素出现的次数
li=[1,2,'alex','ds','都是','alex',['是正文','赖晓','a'],'jda'] v=li.count("alex") print(v)
运行结果;2
3.5 extend(self,iterable)扩展原列表,iterable→参数:可迭代对象:可以被for循环执行的。字符串、列表
li = [11, 22, 33, 22, 44] li.extend([9898,“不得了”])
print(li)
[11, 22, 33, 22, 44, 9898, '不得了']
append:
li = [11, 22, 33, 22, 44] li.append([9898,"不得了"]) print(li)
[11, 22, 33, 22, 44, [9898, '不得了']]
extend相当于内部循环append到列表最后:
li = [11, 22, 33, 22, 44] li.extend([9898,"不得了"]) print(li) li = [11, 22, 33, 22, 44] for i in [9898,"不得了"]: li.append(i) print(li)
li=[11, 22, 33, 22, 44, 9898, '不得了']
li.extend("不得了")
print(li)
前两个答案:[11, 22, 33, 22, 44, 9898, '不得了'] 第三个代码:[11, 22, 33, 22, 44, 9898, '不得了', '不', '得', '了']
3.6 index(self,value,start=None,stop=None) 找某个值索引位置。没有参数则从左到右,找到第一个。参数可以加索引的起始位置和结束位置
li = [11, 22, 33, 22, 44] v= li.index(22) print(v) s= li.index(33) print(s)
答案:1、2
3.7 insert .insert(self, index, p_object) 插入值的具体位置和插入的值。
li = [11, 22, 33, 22, 44] li.insert(0,99) (0,[99])也是可以的 print(li)
[99, 11, 22, 33, 22, 44]
3.8 pop(self,index=None) 删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值
li = [11, 22, 33, 22, 44] v = li.pop() print(li) print(v) li = [11, 22, 33, 22, 44] v = li.pop(1) print(li) print(v)
[11, 22, 33, 22] 44 [11, 33, 22, 44] 22
3.9 remove(self,value).
li = [11, 22, 33, 22, 44] #删除列表中的指定值,左边优先 删除第一个,就停止 li.remove(22) print(li)
[11, 33, 22, 44]
目前列表删除的方式:pop remove del li[0] del li[7:9] clear
3.10 rerevse 将当前列表进行翻转。
li = [11, 22, 33, 22, 44] li.reverse() print(li)
[44, 22, 33, 22, 11]
3.11 sort(self,key=None,reverse=False) 排序 从小到大
li = [11,44, 22, 33, 22] print(li) li.sort() #从小到大排序 print(li) li = [11,44, 22, 33, 22] print(li) li.sort(reverse=True) #从大到小排序 print(li)
[11, 44, 22, 33, 22] [11, 22, 22, 33, 44] [11, 44, 22, 33, 22] [44, 33, 22, 22, 11]
tuple 元祖 :另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改→增加,修改,删除都不行.
1.1、书写方法:
tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
1.2、索引取值
tu = (111,"alex",(11,22),[(33,44)],True,33,44,) v = tu[0] print(v)
111
1.3、切片
tu = (111,"alex",(11,22),[(33,44)],True,33,44,) v = tu[0:2] print(v)
(111, 'alex')
1.4、for循环:可迭代对象
tu = (111,"alex",(11,22),[(33,44)],True,33,44,) for item in tu: print(item)
111 alex (11, 22) [(33, 44)] True 33 44
三、字典:dict
字典的key中:
①True和1不能同时存在,若存在的话就显示1个。
②列表、字典不能作为key。列表可以被修改为动态;
③元祖可以作为字典的key
以后知识:字典是作为哈希表来保存的。key会转化为:哈希值,values,则原样提取和转化。
由于列表不支持直接转化为哈希表。所以列表不能作为key
字典的value:可以是任何值,
info={'k1':'v1','k2':'v2'} 键值对
info={
'k1':18,
'k2':True,
'k3':[11,
22,
33,
{
'kk1':'vv1',
'kk2':'vv2',
'kk3':'vv3'}
],
'k4':(11,22,33,44),
}
字典方法大全:
3.1、通过索引定位相位的值:
v=info['k1'] print(v)
结果是:18
v=info['k3'][3]['kk3']→vv3
3.2、删除 del info['key']
info = { "k1": 18, 2: True, "k3": [ 11, [], (), 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) } del info['k1'] print(info)
删除相关的 del info['k3'][5]['kk1'] print(info) {2: True, 'k3': [11, [], (), 22, 33, {'kk3': (11, 22), 'kk2': 'vv2'}], 'k4': (11, 22, 33, 44), 'k1': 18}
3.3 进行for循环
info = { "k1": 18, 2: True, "k3": [ 11, [], (), 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) } for item in info: print(item)
for item in info.values(): print(item)
[11, [], (), 22, 33, {'kk2': 'vv2', 'kk3': (11, 22), 'kk1': 'vv1'}] True (11, 22, 33, 44) 18
for k,v in info.items(): print(k,v)
k3 [11, [], (), 22, 33, {'kk2': 'vv2', 'kk1': 'vv1', 'kk3': (11, 22)}] k1 18 2 True k4 (11, 22, 33, 44)
3.4