对列表进行创建切片增删改查

对列表进行创建

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基础闯关失败总结的更多相关文章

  1. Python 爬虫闯关(第一关)

    在学习爬虫时,遇到了一个有意思的网站,这个网站设置了几个关卡,需要经过爬虫进行闯关,随着关卡的网后,难度不断增加,在闯关的过程中需要学习不同的知识,你的爬虫水平也自然随之提高. 今天我们先来第一关,访 ...

  2. the python challenge闯关记录(0-8)

    0 第零关 2**38 = 274877906944 下一关的url:http://www.pythonchallenge.com/pc/def/274877906944.html 1 第一关 移位计 ...

  3. The Python Challenge 闯关笔记

    The Python Challenge : http://www.pythonchallenge.com/ Level 0: 看提示图片中为2**38,计算值为274877906944. Hint: ...

  4. python函数编程闯关总结

    文件处理相关 1,编码问题 (1)请问python2与python3中的默认编码是什么? python .x默认的字符编码是ASCII,默认的文件编码也是ASCII python .x默认的字符编码是 ...

  5. the python challenge闯关记录(9-16)

    9 第九关 是一张图,上面有很多的黑点,查看网页源代码发现了上一关的提示: 还发现了一大串的数字 感觉又是一个使用PIL库进行图像处理的题,百度后知道要将这些点连接起来并重新画图.但是不能在原始图上修 ...

  6. Less-5闯关失败

    进行第五关的通关还是用之前的方式进行测试以及判断是什么类型的注入.通过判断我们不难发现是字符型注入.但是出了问题,我们会发现按照原来的步骤进行注入都会返回"You are in " ...

  7. Python Challenge 第一关

    偶然在网上看到这个,PYTHON CHALLENGE,利用Python语言闯关,觉得挺有意思,就记录一下. 第0关应该算个入口吧,试了好几次才试出来,没什么代码就不写了.计算一个结果出来就行. 第一关 ...

  8. python 闯关之路四(下)(并发编程与数据库编程) 并发编程重点

    python 闯关之路四(下)(并发编程与数据库编程)   并发编程重点: 1 2 3 4 5 6 7 并发编程:线程.进程.队列.IO多路模型   操作系统工作原理介绍.线程.进程演化史.特点.区别 ...

  9. Python:黑板课爬虫闯关第一关

    近日发现了[黑板课爬虫闯关]这个神奇的网页,练手爬虫非常的合适 地址:http://www.heibanke.com/lesson/crawler_ex00/ 第一关非常的简单 get 请求网址,在响 ...

随机推荐

  1. eclipse调试(转)

    step into : 单步执行,遇到子函数就进入并且继续单步执行(F5) step over: 在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完在停止,也就是把子函 ...

  2. Java集合框架—List

    Collection |--List:元素是有序的,元素可以重复.因为该集合体系有索引. |--ArrayList:底层的数据结构使用的是数组结构.特点:查询速度很快.但是增删稍慢.线程不同步. |- ...

  3. LeetCode Add Digits (规律题)

    题意: 将一个整数num变成它的所有十进制位的和,重复操作,直到num的位数为1,返回num. 思路: 注意到答案的范围是在区间[0,9]的自然数,而仅当num=0才可能答案为0. 规律在于随着所给自 ...

  4. 访问mongo数据库报错

    It looks like you are trying to access MongoDB over HTTP on the native driver port. 出错原因: 1.没有安装mong ...

  5. http请求头和相应头的作用

    请求头(Request Headers) Accept:application/json, text/plain, */* Accept-Encoding:gzip, deflate Accept-L ...

  6. NYOJ-22-素数求和问题

    原题地址 素数求和问题 描述 现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和. 输入 第一行给出整数M(0<M<10)代表多少组测 ...

  7. windows phone 8.0 的网络图片异步加载方案

    买了一本林政的8.1UI的书,看到一个使用弱引用对像来解决图片缓存的问题,刚好自已写的应用也遇到这个问题,于是小改动了一下代码,搬到了8.0版本来使用,代码由 zhxilin℃+ 大神提供了部分解决代 ...

  8. World Wind Java开发之十三——加载Geoserver发布的WMS服务(转)

    这篇是转载的平常心博客,原地址见:http://www.v5cn.cn/?p=171 1.WMSTiledImageLayer类说明 一个WMSTiledImageLayer类对象只能对应一个WMS发 ...

  9. POJ 1769 Minimizing maximizer (线段树优化dp)

    dp[i = 前i中sorter][j = 将min移动到j位置] = 最短的sorter序列. 对于sorteri只会更新它右边端点r的位置,因此可以把数组改成一维的,dp[r] = min(dp[ ...

  10. 关于C#的垃圾回收机制,Finalize和Dispose的区别(自认为很清晰了,有疑问的评论)

    来到个新地方,新学习C#,前面看到C#的垃圾回收,Finalize和Dispose时,总是一知半解,迷迷糊糊.这次好了,前面连续两次面试问到这个问题,脑子里不是很清晰,加上用英文来表达,更是雪上加霜的 ...