【python】入门学习(六)

type() #检查变量或值得数据类型

>>> type(5)
<class ‘int‘>

序列:包括字符串、元组和列表。序列都可以用索引、切片、len()(计算元素个数)、x in s 判断s中是否包含x

元组: 不可变,如果修改需要大量的复制,即彻底重新赋值

空元组: ()

单个元素的元组: (x,)  #注意一定要有‘,‘

多个元素的元组: (x, y, z) 或 (x, y, z,) #最后的‘,‘可有可无

>>> item = (6, ‘apple‘, (1,2))
>>> item
(6, ‘apple‘, (1, 2))
>>> item[0]
6
>>> item[-1]
(1, 2)
>>> item[-1][0]
1
>>> item = ()
>>> type(item)
<class ‘tuple‘>
>>> item = (5)
>>> type(item)
<class ‘int‘>
>>> item = (5,)
>>> type(item)
<class ‘tuple‘>

删除元组的第一个元素

>>> item = (1,2,3,4,5)
>>> item2 = item[1:]
>>> item = item2
>>> item
(2, 3, 4, 5)

元组相关函数:

x in tup #x是否在元组内

len(tup) #元组中的元素数

tup.count(x) #元素x在元组中出现的次数

tup.index(x) #元组中第一个x的索引,如没有则出错

+*  #拼接

>>> item
(2, 3, 4, 5)
>>> item*2
(2, 3, 4, 5, 2, 3, 4, 5)
>>> item + (1,2,3)
(2, 3, 4, 5, 1, 2, 3)

列表:可以改变,用[]括起,单元素的末尾不一定要‘,‘

>>> numbers = [1,2,3,4,5,6,7]
>>> numbers
[1, 2, 3, 4, 5, 6, 7]
>>> type(numbers)
<class ‘list‘>
>>> numbers * 2
[1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7]
>>> numbers[1:]
[2, 3, 4, 5, 6, 7]
>>> numbers[-3:]
[5, 6, 7]
>>> numbers[0]=100
>>> numbers
[100, 2, 3, 4, 5, 6, 7]

列表元素指向相应的值,而不是包含。用自引用说明:

>>> numbers
[100, 2, 3, 4, 5, 6, 7]
>>> numbers[0] = numbers
>>> numbers
[[...], 2, 3, 4, 5, 6, 7]

列表的相关函数:

s.append(x) #在列表s末尾添加元素x

#numnote.py
def numnote(lst):
    msg = []
    for num in lst:
        if num < 0:
            s = str(num) + ‘is negative‘
        elif 0 <= num <= 9:
            s = str(num) + ‘is digit‘
        else:
            break
        msg.append(s)
    return msg
>>> import numnote
>>> numnote.numnote([1,-1,2,22])
[‘1is digit‘, ‘-1is negative‘, ‘2is digit‘]

若要逐行打印

>>> for msg in numnote([1,2,3,10]):
    print(msg)

1is digit
2is digit
3is digit
>>> print(‘\n‘.join(numnote([1,2,3,10])))
1is digit
2is digit
3is digit

s.extend() #在末尾添加一个序列

>>> lst = []
>>> lst.extend(‘cat‘)
>>> lst
[‘c‘, ‘a‘, ‘t‘]

s.pop(i) #删除并返回索引为i的元素,默认删除最后一个

>>> lst
[‘c‘, ‘a‘, ‘t‘]
>>> lst.pop()
‘t‘
>>> lst.pop(0)
‘c‘
>>> lst
[‘a‘]

s.remove(x) #删除s中的第一个x元素,但不返回值

>>> lst
[‘a‘, ‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘,‘, ‘e‘, ‘v‘, ‘e‘, ‘r‘, ‘y‘, ‘o‘, ‘n‘, ‘e‘]
>>> lst.remove(‘e‘)
>>> lst
[‘a‘, ‘h‘, ‘l‘, ‘l‘, ‘o‘, ‘,‘, ‘e‘, ‘v‘, ‘e‘, ‘r‘, ‘y‘, ‘o‘, ‘n‘, ‘e‘]

s.reverse() #反转列表元素

>>> lst
[‘a‘, ‘h‘, ‘l‘, ‘l‘, ‘o‘, ‘,‘, ‘e‘, ‘v‘, ‘e‘, ‘r‘, ‘y‘, ‘o‘, ‘n‘, ‘e‘]
>>> lst.reverse()
>>> lst
[‘e‘, ‘n‘, ‘o‘, ‘y‘, ‘r‘, ‘e‘, ‘v‘, ‘e‘, ‘,‘, ‘o‘, ‘l‘, ‘l‘, ‘h‘, ‘a‘]

s.sort() #对元素排序 从小到大 要从大到小排序在调用一次reverse就可以了 也可以对列表中的元组排序

>>> lst
[‘e‘, ‘n‘, ‘o‘, ‘y‘, ‘r‘, ‘e‘, ‘v‘, ‘e‘, ‘,‘, ‘o‘, ‘l‘, ‘l‘, ‘h‘, ‘a‘]
>>> lst.sort()
>>> lst
[‘,‘, ‘a‘, ‘e‘, ‘e‘, ‘e‘, ‘h‘, ‘l‘, ‘l‘, ‘n‘, ‘o‘, ‘o‘, ‘r‘, ‘v‘, ‘y‘]
>>> lst.reverse()
>>> lst
[‘y‘, ‘v‘, ‘r‘, ‘o‘, ‘o‘, ‘n‘, ‘l‘, ‘l‘, ‘h‘, ‘e‘, ‘e‘, ‘e‘, ‘a‘, ‘,‘]
>>> lst = [(1,2),(1,-1),(2,)]
>>> lst
[(1, 2), (1, -1), (2,)]
>>> lst.sort()
>>> lst
[(1, -1), (1, 2), (2,)]

列表解析:用于快速创建列表

>>> [n*n for n in range(1,11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> [n*n for n in range(1,11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> [2*n**3+4 for n in range(1,11)]
[6, 20, 58, 132, 254, 436, 690, 1028, 1462, 2004]
>>> [c for c in ‘pizza‘]
[‘p‘, ‘i‘, ‘z‘, ‘z‘, ‘a‘]
>>> [c.upper() for c in ‘pizza‘]
[‘P‘, ‘I‘, ‘Z‘, ‘Z‘, ‘A‘]

使用解析进行筛选:

>>> nums = [-1,0,6,-4,2,5]
>>> result = [n for n in nums if n > 0]
>>> result
[6, 2, 5]

删掉元音

>>> ‘‘.join([c for c in ‘Apple‘ if c.lower() not in ‘aeiou‘])
‘ppl‘

不要方括号也可以,将得到生成器表达式

>>> ‘‘.join(c for c in ‘Apple‘ if c.lower() not in ‘aeiou‘)
‘ppl‘

字典:也称关联数组、映射或散列表 用{}表示

可以利用来访问,键不可重复不可修改  下面的‘red‘就是键,2是值

>>> color = {‘red‘:2, ‘blue‘:1, ‘green‘:3}
>>> color[‘red‘]
2
>>> color[‘blue‘]=0
>>> color
{‘green‘: 3, ‘blue‘: 0, ‘red‘: 2}

相关函数

items 、 keys、 values、 get、pop、 popitem、 clear、 copy 、fromkeys 、setdefault、 update

#视图>>> k = color.keys()
>>> for i in k:print(i)

green
blue
red

集合:只包含键,没有相关联的值

删除列表中重复的元素

>>> lst = [1,1,2,2,3,3,3]
>>> lst
[1, 1, 2, 2, 3, 3, 3]
>>> s = set(lst)
>>> s
{1, 2, 3}
时间: 2024-10-09 09:12:21

【python】入门学习(六)的相关文章

python 入门学习 载抄

python入门 解释型语言 和编译型语言 计算机本身不能识别高级语言,当我们运行一个程序的时候,需要一个“翻译” 来把 高级语言转换成计算机能读懂的语言. “翻译”过程分两种: 编译 编译型语言在执行程序前,首先会通过编译器执行一个编译的过程,把程序编译成机器语言. 之后,程序再次运行的时候,就不要“翻译”了,而是可以直接执行.比如C语言. 编译型语言的优点在于在运行程序的时候不用解释,可直接利用已经翻译过的文件. 解释 解释型语言就没有编译的过程,而是在程序运行的时候,通过解释器逐行解释代码

python入门(六)装饰器的理解

装饰器用于拓展原有函数功能的一种函数比如: def helloWorld(fun) def out() print ("======start========") fun() print ("=====end======") return out @helloWorld def back () print ("let's go") back() 运行结果: ======start======== let's go =====end====== b

Python入门学习:1.变量和简单的数据类型

python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用 ??变量,顾名思义是一个可变的量,每个变量都存储一个值--与变量关联的信息. 1message = "hello world!"2# message 是一个变量3print(message) ??在python中使用变量时,需要遵循一些规则和指南. 变量名只能包含字母.数字和下划线.变量名可以字母或者下划线打头,但不能以数

python入门学习:7.函数

python入门学习:7.函数 关键点:函数 7.1 定义函数7.2 传递实参7.3 返回值7.4 传递列表7.5 传递任意数量的实参7.6 将函数存储在模块中 7.1 定义函数 ??使用关键字def告诉python要定义一个函数,紧接着跟着函数名,冒号.后面的缩进构成函数体.例如: 1def func_name():2    函数体34def greet_user():5    """显示简单问候语"""6    print("hel

python入门学习:8.类

python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类 ??面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象.根据类来创建对象被称为实例化,这让你能够使用类.8.1.1 创建dog类??下面创建一个dog类: 1calss Dog(): 2 3    def __init__(self,name,age): 4        self.name = n

Python入门学习指南--内附学习框架

Python入门学习指南 最近开始整理python的资料,博主建立了一个qq群,希望给大家提供一个交流的同平台: 78486745 ,欢迎大家加入共同交流学习. 对于初学者,入门至关重要,这关系到初学者是从入门到精通还是从入门到放弃.以下是结合Python的学习经验,整理出的一条学习路径,主要有四个阶段 NO.1 新手入门阶段,学习基础知识 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所有教程在基础知识介绍方面都差不多,区别在于讲的是否足够细(例如运

Python入门学习:一步步教你怎么用Python写贪吃蛇游戏

前几天,有人提到贪吃蛇,一下子就勾起了我的兴趣,毕竟在那个Nokia称霸的年代,这款游戏可是经典中的经典啊!而用Python(蛇)玩Snake(贪吃蛇),再合适不过了. 这里通过一个Python入门学习的例子跟大家详细讲解一下! 先通过下面这个效果图来感受下吧! 1 环境 操作系统:Windows Python版本:3.7.3 2 需求分析 我们先来回顾下贪吃蛇中的游戏元素及游戏规则. 首先呢,需要有贪吃蛇.有食物:需要能控制贪吃蛇来上下移动获取食物:贪吃蛇在吃取食物后,自身长度增加,同时食物消

python入门学习课程推荐

最近在学习自动化,学习过程中,越来越发现coding能力的重要性,不会coding,基本不能开展自动化测试(自动化工具只是辅助). 故:痛定思痛,先花2个星期将python基础知识学习后,再进入自动化的学习. 现推荐几个学习python基础知识的途径: 1.<笨办法学python>(第三版),从头到尾一个字一个字的照着程序敲: 2.慕课网<python入门>课程: 3.网易云课堂<疯狂的python>公开课. 4.<廖雪峰Python3>pdf文件. 这也是

python入门学习

最近闲来无事,搞搞py交易吧! 作为一个快速崛起的语言,python编程确实是好用的不得了,当然这不是说他就可以代替其他语言,这是目前所有语言都不可能做到的: python有他的优点: 简单,简洁,易懂,入门快: 学过python的应该都有体会,python比其他很多语言都要轻便的多,易于编写: 比如python的hello world: #!/usr/bin/python print('hello world') 就这一句就ok了: 简单的了解下python,下面我们来了解下python2和3

程序设计入门学习六步曲

初学者遇到最多的困惑是:上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢? 二.用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识.例如,如果你不知道长方形的面积公式,即使C语言学得再好你也编不出求长方形的面积的程