Python学习笔记_Python基础二

列表、元祖:

创建列表

names = ["Eric","Tony","Jack"]

通过列表的下标访问列表中的元素,下标从0开始

>>> names[0]
‘Eric‘
>>> names[1]
‘Tony‘
>>> names[2]
‘Jack‘
>>> names[-1]#还可以倒着取
‘Jack‘
>>> names[-2]
‘Tony‘

列表切片取多个元素

>>> names = ["Eric","Tony","Jack","Rain","Tom"]
>>> names[1:4]  #取下标1至下标4之间的元素,包括1,但不包括4
["Tony","Jack","Rain","Tom"]
>>> names[1:-1] #取下标1至-1的元素,不包括-1
["Tony","Jack","Rain","Tom"]
>>> names[0:3]
["Eric","Tony","Jack"]
>>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
["Eric","Tony","Jack"]
>>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
["Rain","Tom"]
>>> names[3:-1] #这样-1就不会被包含了
[‘Rain‘]
>>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
["Eric","Jack","Tom"]
>>> names[::2] #和上句效果一样
["Eric","Jack","Tom"] 

列表追加    names.append("xxxx")

>>> names = ["Eric","Tony","Jack","Rain","Tom"]
["Eric","Tony","Jack","Rain","Tom"]
>>> names .append("大魔王")
>>> names
>>> names = ["Eric","Tony","Jack","Rain","Tom","大魔王"]

列表插入     names.insert(索引,"xxxx")

>>> names = ["Eric","Tony","Jack","Rain","Tom","大魔王"]
 ["Eric","Tony","Jack","Rain","Tom","大魔王"]
 names.insert(2,"在Jack前面插入")
>>> names
 ["Eric","Tony","在Jack前面插入","Jack","Rain","Tom","大魔王"]

>>> names.insert(5,"在Rain后面插入")
>>> names
["Eric","Tony","在Jack前面插入","Jack","Rain","在Rain后面插入","Tom","大魔王"]

修改       names[index] = "xxxxx"

>>> names
["Eric","Tony","在Jack前面插入","Jack","Rain","在Rain后面插入","Tom","大魔王"]
>>> names[2] = "轮到我了"
>>> names
["Eric","Tony","轮到我了","Jack","Rain","在Rain后面插入","Tom","大魔王"]

删除       del names[index]     names.remove("xxxxx")    names.pop()

>>> del names[2]
>>> names
[‘Eric‘, ‘Tony‘, ‘Jack‘, ‘Rain‘, ‘从Rain后面插入‘, ‘Tom‘, ‘大魔王‘ ]
>>> del names[4]
>>> names
[‘Eric‘, ‘Tony‘, ‘Jack‘, ‘Rain‘, ‘Tom‘, ‘大魔王‘]
>>>
>>> names.remove("Eric") #删除指定元素
>>> names
[‘Tony‘, ‘Jack‘, ‘Rain‘, ‘Tom‘, ‘大魔王‘]
>>> names.pop() #删除列表最后一个值
‘大魔王‘
>>> names
[‘Tony‘, ‘Jack‘, ‘Rain‘, ‘Tom‘]

扩展       names.extend(列表名)

>>> names
[‘Tony‘, ‘Jack‘, ‘Rain‘, ‘Tom‘]
>>> b = [1,2,3]
>>> names.extend(b)
>>> names
[‘Tony‘, ‘Jack‘, ‘Rain‘, ‘Tom‘, 1, 2, 3]

拷贝       names.copy()

>>> names
[‘Tony‘, ‘Jack‘, ‘Rain‘, ‘Tom‘,1, 2, 3]

>>> name_copy = names.copy()
>>> name_copy
[‘Tony‘, ‘Jack‘, ‘Rain‘, ‘Tom‘,1, 2, 3]

统计    names.count("xxx")

>>> names
[‘Tony‘, ‘Jack‘, ‘Rain‘, ‘Tom‘,1, 2, 3]
>>> names.count("Amy")
1

排序 & 反转    names.sort()  names.revserse()

>>> names
[‘Alex‘, ‘Tenglan‘, ‘Amy‘, ‘Tom‘, ‘Amy‘, 1, 2, 3]
>>> names.sort() #排序
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() < str()   #3.0里不同数据类型不能放在一起排序了,擦
>>> names[-3] = ‘1‘
>>> names[-2] = ‘2‘
>>> names[-1] = ‘3‘
>>> names
[‘Alex‘, ‘Amy‘, ‘Amy‘, ‘Tenglan‘, ‘Tom‘, ‘1‘, ‘2‘, ‘3‘]
>>> names.sort()
>>> names
[‘1‘, ‘2‘, ‘3‘, ‘Alex‘, ‘Amy‘, ‘Amy‘, ‘Tenglan‘, ‘Tom‘]

>>> names.reverse() #反转
>>> names
[‘Tom‘, ‘Tenglan‘, ‘Amy‘, ‘Amy‘, ‘Alex‘, ‘3‘, ‘2‘, ‘1‘]

获取下标   names.index("xxxxx")

>>> names
[‘Tom‘, ‘Tenglan‘, ‘Amy‘, ‘Amy‘, ‘Alex‘, ‘3‘, ‘2‘, ‘1‘]
>>> names.index("Amy")
2 #只返回找到的第一个下标

元祖:

创建元祖(不可修改)

names = ("Eric","Jack","Tom")

它只有2个方法,一个是count,一个是index.

字符串:

不可修改

name = "hello word!"

name.title()     #将字符串换成标题   Hello World!

name.capitalize()      #首字母大写

name.casefold()        #大写全部变小写

name.center(50,"-")   #输出‘------------hello word!------------’

name.count(‘ic‘)       #统计ic出现次数

name.encode()     #将字符串编码成bytes格式

name.endswith(‘ic‘)    #判断字符串是否以ic结尾

name.find(‘ic‘)    #f返回ic出现的位置

name.upper()       #全部转换成大写
name.strip()      #移除两边的空格
name.split()     #分割字符串
name.replace(‘h‘,‘m‘,1)   #把h替换成m,替换1次 

字典:

字典是无序的,使用键-值(key-value)存储,具有极快的查找速度。

d = {‘Eric‘: 95, ‘Jack‘: 75, ‘Tom‘: 85}

d.get(‘Jack‘)                     #根据key获取values,如果不存在返回None,这里输出75

d.pop(‘Tom‘)                     #根据键删除某一元素 d={‘Eric‘: 95, ‘jack‘: 75}

d[‘Tony‘]=99                       #新增元素 d={‘Eric‘: 95, ‘Jack‘: 75, ‘Tony‘: 99}

print(len(d))                       #输出字典长度,这里输出3

print(‘Eric‘ in d)                 #python3 中移除了 has_key,要判断键是否存在用in

for i in d:
    print(i)                     #循环默认按键输出

for i in d.values():                #循环按值输出
    print(i)

for k,v in d.items():                #循环按键值输出
    print(k,v)

枚举:

为一个可迭代的对象添加序号,可迭代的对象你可以理解成能用for循环的就是可迭代的。默认是编号是从0开始,可以设置从1开始

li = ["手机", "电脑", ‘鼠标垫‘, ‘游艇‘]
for k, i in enumerate(li,1):
    print(k,i)
1 手机
2 电脑
3 鼠标垫
4 游艇

range和xrange:

在python2中有xrange和range,其中range会一次在内存中开辟出了所需的所有资源,而xrange则是在for循环中循环一次则开辟一次所需的内存,而在Python3中没有xrange,只有range ,但是python3的range代表的就是xrange。range用来指定范围,生成指定的数字。

for i in range(10):     #循环输出所生成的 0-9
    print(i)

for i in range(1,10,2): #输出所生成的 1 3 5 7 9
    print(i)

练习作业:

元素分类:

有如下值集合 [11,22,33,44,55,66,77,88,99],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。即: {‘k1‘: 大于66的所有值, ‘k2‘: 小于66的所有值}

l = [11,22,33,44,55,66,77,88,99]
时间: 2024-11-05 04:00:16

Python学习笔记_Python基础二的相关文章

Python学习笔记_Python基础

Python 基础 语句和语法 注释 继续 代码组 代码的缩进 在一行书写多个语句 模块 变量赋值 赋值操作符 增量赋值 多重赋值 多元赋值 python编写的基本风格 模块的结构和布局 内存管理 变量定义 引用计数 增加引用计数 减少引用计数 del语句 Python 基础 语句和语法 注释 python中用#号进行注释 继续 如果一个语句需要跨行,那么需要用\来连接两个跨行的语句 if name == 'qeesung' and age == 23 在两种情况下是不需要使用反斜线来进行跨行连

Python学习笔记_Python对象

Python学习笔记_Python对象 Python对象 标准类型 其他内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比较 对象身份比较 布尔类型 标准类型的内建函数 typeObj cmpobj1 obj2 strobj reprobj typeobj isinstanceobj 标准类型的分类 存储模型 更新模型 访问模型 不支持的类型 Python学习笔记_Python对象 首先来理解一个通俗的含义,什么是对象?其实对象无论在什么语言里面

01-Python学习笔记-基础语法

Python标识符 -d           在解析时显示调试信息 -O           生成优化代码 ( .pyo 文件 ) -S           启动时不引入查找Python路径的位置 -v            输出Python版本号 -X           从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时. -c cmd     执行 Python 脚本,并将运行结果作为 cmd 字符串. file           在给定的python文件执行python脚本. P

python学习笔记-(十二)scoket编程基础

socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用[打开][读写][关闭]模式来操作.socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO.打开.关闭) socket和file的区别: file模块是针对某个指定文件进行[打开

python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sys.argv) #打印相对路径,在pycharm输出结果是绝对路径,因为在pycharm中调用 print(sys.argv[2]) #可以从数据列表中取值,[2]指取第三位.        标准库存放位置:C:\Python35\Lib 第三方库存放位置C:\Python35\Lib\site-p

Python学习笔记-Day1-Python基础

1.python诞生 关于Python的起源,吉多·范罗苏姆在1996年写到: 六 年前,在1989年12月,我在寻找一门"课余"编程项目来打发圣诞节前后的时间.我的办公室会关门,但我有一台家用电脑,而且没有太多其它东西.我决定 为当时我正构思的一个新的脚本语言写一个解释器,它是ABC语言的后代,对UNIX / C程序员会有吸引力.作为一个略微有些无关想法的人,和一个蒙提·派森的飞行马戏团的狂热爱好者,我选择了Python作为项目的标题 吉多·范罗苏姆GITHUB:https://gi

python学习笔记系列----(二)控制流

实际开始看这一章节的时候,觉得都不想看了,因为每种语言都会有控制流,感觉好像我不看就会了似的.快速预览的时候,发现了原来还包含了对函数定义的一些描述,重点讲了3种函数形参的定义方法,章节的最后讲述了PEP8的一些重要的规范,在学习的过程中还是学到了些知识. 2.1  if 语句 if语句就不多说了,经常跟else if .. 和 else ..一起使用,如下所示: >>> x = int(raw_input("Please enter an integer: "))

python 学习笔记day03-python基础、python对象、数字、函数

python基础 语句和语法 注释及续行 首要说明的是:尽管python可读性最好的语言之一,这并不意味者程序员在代码中就可以不写注释 和很多UNIX脚本类似,python注释语句从#字符开始 注释可以在一行的任何地方开始,解释器会忽略掉该行#之后的所有内容 一行过长的语句可以使用反斜杠\分解成几行 缩进及代码组 缩进相同的一组语句构成一个代码块,称之为代码组 首行以关键字开始,以冒号:结束,该行之后的一行或多行代码构成代码组 如果代码组只有一行,可以将其直接写在冒号后面,但是这样的写法可读性差

Python学习笔记(十二)

一.报错处理 Python中可以通过: try: 相关语句块 except 错误类型 as e: print("except:",e) finally: print("finally") 来进行错误的侦测和处理 二.Python中错误的继承 Python中的错误也是class Python中所有的错误类型都继承自BaseException 如果Python中的错误没有被捕获,则其会一层一层的向上抛出,直至被编译器所捕获 三.记录错误 Python中可以通过loggi