Python基础闯关失败总结
对列表进行创建切片增删改查
对列表进行创建
L1 = [] # 定义L1 为一个空列表
List() #创建List 空列表
对列表进行查询
L2 = ['a','b','c','d','a','e',1,2] #
L2[2] #通过索引[2]取值 结果'c'
L2[-1] #通过索引[-1]从列表右边开始取值 结果‘2’
L2[-3] #通过索引[-1]从列表右边开始取值 结果‘e’
通过 index 方法获取索引
n2=['shanshan','LongTing','Alex',1,3,4,4,5,6,7,7,8,8,9,9,0,0,2,3,4,4] #
n2.index(6) #返回6的索引值 结果 8
n2[8] #返回索引[8] 的值 结果 6
通过 index 方法获取索引,再输出列表里的值。
n2=['shanshan','LongTing','Alex',1,3,4,4,5,6,7,7,8,8,9,9,0,0,2,3,4,4] #
>>> n2.index(4) #获取第一个4 的索引
5
>>> i = n2.index(4) #获取第一个4 的索引,赋值给 i
>>> n2[i] #通过n2.index(4)赋值 i 的索引,输出结果4
4
>>> n2[n2.index(4)] #
4
#切片
>>> n2=['Shanshan','LongTing','Alex',1,3,4,4,5,6,7,7,8,8,9,9,0,0,2,3,4,4]
>>> n2[0:3] #切片顾头不顾尾
['Shanshan', 'LongTing', 'Alex']
>>> n2[-5:-1] #切片是从左往右切,最后5位,最后一位切不出。
[0, 2, 3, 4]
>>> n2[-5:] #后面的值不写,就能切出最后5位
[0, 2, 3, 4, 4]
>>> n2[:7:2] #切片0-7索引 步长为2
['Shanshan', 'Alex', 3, 4]
#追加(增加)
>>> n2.append('Peiqi') 在列表最后追加一个‘Peiqi’
>>> n2
['Shanshan', 'LongTing', 'Alex', 1, 3, 4, 4, 5, 6, 7, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4, 'Peiqi']
#插入
>>> n2.insert(2,'Alex') #插入'Alex'
>>> n2
['abc', 'Shanshan', 'Alex', 'LongTing', 'Alex', 1, 3, 4, 4, 5, 6, 7, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4, 'Peiqi']
#修改
>>> n2[2] = 'Peiqi' #直接赋值
>>> n2
['abc', 'Shanshan', 'Peiqi', 'LongTing', 'Alex', 1, 3, 4, 4, 5, 6, 7, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4, 'Peiqi']
>>> n2[4:6] = 'JACK LIU' #批量修改 4-6的索引修改为 'JACK LIU'分拆的字母,不够的新建。
>>> n2
['abc', 'Shanshan', 'Peiqi', '龙婷', 'J', 'A', 'C', 'K', ' ', 'L', 'I', 'U', 3, 4, 4, 5, 6, 7, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4, 'Peiqi']
#删除
>>> n2.pop() #删除n2中的最后一个
'Peiqi'
>>> n2.remove('abc') #删除'abc’
>>> del n2[2] #全局删 n2 索引2的值
>>> n2
['Shanshan', 'Peiqi', 'J', 'A', 'C', 'K', ' ', 'L', 'I', 'U', 3, 4, 5, 6, 7, 7, 8, 8, 9, 9, 0, 0, 2, 3, 4, 4]
#循环
>>> for i in L2:
... print(i)
...
a
b
c
L
I
e
1
2
>>> for i in range(10): #当没有列表,想发起一个循环,就用range.
... print(i)
...
0
1
2
3
4
5
6
7
8
9
# while 循环 与 for 循环的区别是 while循环可以是死循环,没有边界,for循环有边界。
#排序
>>> n
['A', '!', 'a', 'b', '*', '#', 'c', 'e', 'y', 'z']
>>> n.sort() #按ACSII 码排序
>>> n.reverse() #按ACSII 码反转排序
>>> n
['z', 'y', 'e', 'c', 'b', 'a', 'A', '*', '#', '!']
#拼接
>>> n.extend(n2) # 扩展拼接。
>>> n2
['a', 'e', 'b', 1, 34, 2, 'c']
>>> n
['z', 'y', 'e', 'c', 'b', 'a', 'A', '*', '#', '!', 'a', 'e', 'b', 1, 34, 2, 'c']
>>> n + n2 #直接加法拼接
['z', 'y', 'e', 'c', 'b', 'a', 'A', '*', '#', '!', 'a', 'e', 'b', 1, 34, 2, 'c', 'a', 'e', 'b', 1, 34, 2, 'c']
>>> n.clear() 清空列表。
>>> n
[]
#深 copy
>>> names = ['Alex Li','jack','-1','mack','racheal','shanshan',['LT',22]]
>>> n4 = copy.deepcopy(names) #深copy 列表里的子列表也是独立的内存
# 浅copy
>>> n3 =names.copy()
>>> n3
['Alex Li', 'jack', '-1', 'mack', 'racheal', 'shanshan', ['LT', 22]]
对字典进行增删改查(编程)
a={"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
#字典增加操作
a["stu1104"] = "苍进空"
#结果
{'stu1104': '苍进空', 'OP': '运维小哥', 'Development': '开发小哥', 'UI': 'UI小仙女', 'Operate': '运营小仙女'}
#修改
a["stu1104"] = "武藤兰"
#结果
{'stu1104': '武藤兰', 'OP': '运维小哥', 'Development': '开发小哥', 'UI': 'UI小仙女', 'Operate': '运营小仙女'}
#查找
"stu1104" in a #判断 ‘stu1104’ 是否在字典‘a’里 返回 'True' 或 Flase
a.get ("UI") #查找KEY为 'UI' 的值。返回UI 对应的value
#结果:'UI小仙女'
#第二种查找方法:
a['UI'] #如果没有会报错。推荐 用.get方法。
#结果:'UI小仙女'
#删除
a.pop('OP')
#结果:{'stu1104': '武藤兰', 'Development': '开发小哥', 'UI': 'UI小仙女', 'Operate': '运营小仙女'}
#随机删除
a.popitem()
#全局删
del a["stu1104"]
#查字典的KEYS 和 值
a.keys()
a.values()
#字典items() 是把字典转换成列表,放在小元组里。
#结果:
dict_items([('Development', '开发小哥'), ('UI', 'UI小仙女'), ('Operate', '运营小仙女')])
#update 用法: 字典1.updte(字典2) 2个字典的合并, 有对应的值就覆盖,没有就创建。
#setdefault 用法 字典.setdefault('test','new2') 查找字典里是否有'test'这个KEY,有就获取它的值,没有就创建'new2'这个值
# fromkeys 用法 字典.fromkeys(['A','B','C'],'yanyan') 例:a.fromkeys(['A','B','C'],'yanyan') 结果:{'B': 'yanyan', 'C': 'yanyan', 'A': 'yanyan'}
#字典高效循环 for k in a:
print(k,a[k])
#字典低效循环 for k,v in a.items(): 把‘a’字典先转换成列表,然后再循环取值。
print(k,v)
将字符串“www.luffycity.com”给拆分成列表:li=['www','luffycity','com'] (编程)
列表['alex','egon','yuan','wusir','666'](编程)
1. 把666替换成999
2. 获取"yuan"索引
3. 假设不知道前面有几个元素,分片得到最后的三个元素
元组,列表,字典有没有长度的限制?(口述)
没有长度限制
数据类型的可变与不可变分别有哪些?(口述)
不可变类型(元组、数字、字符串)可变类型(字典、列表、集合)
请写出 “路飞学城” 分别用 utf-8 和 gbk 编码所占的位数(口述)
UTF-8为12位,GBK为8位。
两个变量值的关系?(口述)
n1=12345
n2=n1
n2 =12345,当n1重新赋值时,n2对应的值还是12345
分别解释“=”,“==”,“+=”的含义(口述)
Python基础闯关失败总结的更多相关文章
- Python 爬虫闯关(第一关)
在学习爬虫时,遇到了一个有意思的网站,这个网站设置了几个关卡,需要经过爬虫进行闯关,随着关卡的网后,难度不断增加,在闯关的过程中需要学习不同的知识,你的爬虫水平也自然随之提高. 今天我们先来第一关,访 ...
- the python challenge闯关记录(0-8)
0 第零关 2**38 = 274877906944 下一关的url:http://www.pythonchallenge.com/pc/def/274877906944.html 1 第一关 移位计 ...
- The Python Challenge 闯关笔记
The Python Challenge : http://www.pythonchallenge.com/ Level 0: 看提示图片中为2**38,计算值为274877906944. Hint: ...
- python函数编程闯关总结
文件处理相关 1,编码问题 (1)请问python2与python3中的默认编码是什么? python .x默认的字符编码是ASCII,默认的文件编码也是ASCII python .x默认的字符编码是 ...
- the python challenge闯关记录(9-16)
9 第九关 是一张图,上面有很多的黑点,查看网页源代码发现了上一关的提示: 还发现了一大串的数字 感觉又是一个使用PIL库进行图像处理的题,百度后知道要将这些点连接起来并重新画图.但是不能在原始图上修 ...
- Less-5闯关失败
进行第五关的通关还是用之前的方式进行测试以及判断是什么类型的注入.通过判断我们不难发现是字符型注入.但是出了问题,我们会发现按照原来的步骤进行注入都会返回"You are in " ...
- Python Challenge 第一关
偶然在网上看到这个,PYTHON CHALLENGE,利用Python语言闯关,觉得挺有意思,就记录一下. 第0关应该算个入口吧,试了好几次才试出来,没什么代码就不写了.计算一个结果出来就行. 第一关 ...
- python 闯关之路四(下)(并发编程与数据库编程) 并发编程重点
python 闯关之路四(下)(并发编程与数据库编程) 并发编程重点: 1 2 3 4 5 6 7 并发编程:线程.进程.队列.IO多路模型 操作系统工作原理介绍.线程.进程演化史.特点.区别 ...
- Python:黑板课爬虫闯关第一关
近日发现了[黑板课爬虫闯关]这个神奇的网页,练手爬虫非常的合适 地址:http://www.heibanke.com/lesson/crawler_ex00/ 第一关非常的简单 get 请求网址,在响 ...
随机推荐
- MySQL-5.6.30 (OpenLogic CentOS7.2)
平台: CentOS 类型: 虚拟机镜像 软件包: centos7.2 mysql5.6.30 basic software database linux open source 服务优惠价: 按服务 ...
- jQuery_2_常规选择器-进阶选择器
进阶选择器: 1. 群组选择器 $("span,em,#box") 获取多个选择器的DOM对象 <div id="d1">div< ...
- <已解决>使用selector设置Button按下松开的样式以及 <item> tag requires a 'drawable' attribute or child tag defining a drawable 报错
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="ht ...
- selenium 使用键盘时 提示java.lang.IllegalArgumentException: Key Down / Up events only make sense for modifier keys.
输入某个内容后,使用enter键进行确认,最开始使用方式为: driver.findElement(By.xpath("//input[@name='supplier_name'][@id= ...
- 2018.6.15 Java对象序列化详解
一.定义 Serializable 序列化:把Java对象转换为字节序列的过程. 反序列化:把字节序列恢复为Java对象的过程. ObjectOutputStream对象输出流 可以将实现了Seria ...
- 1.VS Code 开发C#入门 安装Dotnet core
1. dot.net 网站 下载 .NET Core 1.0 (https://www.microsoft.com/net/download/core) 2. 打开命名提示符: 3.dotnet ...
- 浏览器 DNS缓存与DNS prefetch (DNS预解析)
浏览器 DNS缓存 浏览器DNS缓存的时间跟DNS服务器返回的TTL值无关. 注:TTL(Time-To-Live),就是一条域名解析记录在DNS服务器中的存留时间. 浏览器在获取网站域名的实际IP地 ...
- javaweb基础(26)_jsp标签库开发二
一.JspFragment类介绍 javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定义的,它的实例对象代表JSP页面中的一段符合JSP语法规范的JSP片段, ...
- CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第七节
第七节:使用下一代CUDA硬件,快乐加速度 原文链接 Rob Farber 是西北太平洋国家实验室(Pacific Northwest National Laboratory)的高级科研人员.他在多个 ...
- 如何着手学习一个新的PHP框架
如今的PHP框架层出不穷,名气也各不相同.如何快速掌握一种框架?看看本文吧~ 如今的PHP框架层出不穷,名气也各不相同.我不是这方面的专家,甚至不能熟练地使用其中的一种,所以就不作推荐了.这里我要讨论 ...