python:序列_元组(常用基础知识)

详细如下:

#元组:不可变列表,值不可修改,顺序不可变

#元组有很多继承序列的内容如下:
#序列索引从0开始,从最后起则索引为-1
a = (1,8,3,9,5,6)
b = (‘小一‘,‘小二‘,‘小三‘)
c = (‘Wang‘,‘baby‘,‘maya‘,‘Jiang‘,‘an‘)
aa = list(range(1,11,2))
print(aa)
print(a[2],a[-1],a[-3]) #输出第几项

#切片
print(a[::2])   # 默认从0到最后,每两个输出一个
print(a[1:4:2]) # 从第一个到第四个,每两个
print(a[:2])    # 前三个
print(a[:])     # 全部

print(a+b)      #序列相加
print(a*3)      #序列乘

#检查序列成员
print(‘小三‘ in b)  #in 在,not in 不在,结果为true
#序列长度、最大值、最小值;%d数字替代符,n\换行符
print("序列长度:%d\n序列最大值:%d\n序列最小值:%d" %(len(a),max(a),min(a)))

print(list(a))    #序列转为元组
print(str(a))     #序列转为字符串
print(sum(a))     #序列元素+
print(sorted(a))  #序列排序,a内原本顺序不会变
print(list(reversed(a))) #反向元素,a内原本顺序不会变
#序列索引和元素组合
print(list(enumerate(a)))
for i,element in enumerate(a):
    print(i,element)

# -------------------元组-------------------------
#除了对元素的顺序和内容不可添加、修改、删除外,元组有很多同列表一样的功能
#遍历元组
print(‘遍历元组‘)
for item in a:
    print(item)

#将a分两列输出
print(‘将a分两列输出‘)
for index,item in enumerate(a):
    if index%2 ==0:
        print(item,‘\t\t‘,end=‘‘)  #\t:横向空出一个制表符的位置;end=‘‘:接下来输出的内容不要换行显示,即:index 0不换行,1换行,2不换行,3换行
    else:
        print(item)

#统计元素的数量a.count()
print(a.count(9))  #结果1
print(a.index(9))  #结果2,9首次出现的索引号

#元组的排序
print(‘sorted(c):\n‘,sorted(c))  #序列排序,c内原本顺序不会变
print(‘sorted(c,key=str.lower,reverse=True):\n‘,sorted(c,key=str.lower,reverse=True))  #倒序排序,c内原本顺序不会变
print(c)

#元组推导式:(用列表创建的表达式依然可成功创建,******注意:记得加上tuple()******)
#生成指定范围的数值元组
import random
d = tuple(random.randint(11,20)*2 for i in  range(10)) #random.randint(30,90)*2:元素表达式,i:针对后面range的循环变量
print(d)
#生成指定需求的元组,如d的5折
e = tuple(int(x*0.5) for x in d) #x*0.5:元素表达式;x:d中的元素
print(e)
#生成符合条件的元组,如f元组需要0.5的d元素,且0.5d元素依然为偶数
f = tuple(int(x*0.5) for x in d if int(x*0.5)%2==0) #x*0.5:元素表达式;x:d中的元素
print(f)
#创建数字元组
ff = tuple(range(1,13,3))
print(ff)

#二维元组
#使用推导式创建二维元组(用列表创建的表达式依然可成功创建)
g =tuple([random.randint(3,8) for j in range(3) ] for i in range(4))
print(g)
print(g[1][2])  #单个元素

#横版输出古诗,纵版输出古诗
str1 = "千山鸟飞绝"
str2 = "万径人踪灭"
str3 = "孤舟蓑笠翁"
str4 = "独钓寒江雪"
#list1 = tuple((str1),(str2),(str3),(str4))  # 如果这样写会提示:TypeError: tuple() takes at most 1 argument (4 given)
list1 = ((str1),(str2),(str3),(str4))        #正确写法,去掉tuple

print(‘------------横向古诗-方法1------------‘)
for itemh in list1:                 #每个子元组存在于元组中
    for item in itemh:              #每个字存在于子元组中
        if itemh.index(item) ==4:   #子元组中最后一个字换行打印,其余不换行打印
            print(item)
        else:
            print(item,end=‘‘)

print(‘------------横向古诗-方法2------------‘)

for i in range(4):                 #每个子元组存在于元组中
    for j in range(5):              #每个字存在于子元组中
        if j==4:   #子元组中最后一个字换行打印,其余不换行打印
            print(list1[i][j])
        else:
            print(list1[i][j],end=‘‘)

print(‘------------纵向古诗-方法1------------‘)
list2 = tuple(reversed(list1))   #倒叙古诗句子

for i in range(5):
    for j in range(4):
        if j ==3:
            print(list2[j][i])
        else:
            print(list2[j][i],end=‘‘)

#元组常需注意内容
#①如果只有一个元素,记得加逗号
print(type((‘测试元组‘,)),‘\t\t‘,type((‘测试元组‘)))  #结果:<class ‘tuple‘>          <class ‘str‘>

#②元组内元素不可添加、修改、删除、更换顺序等,但可对元素重新赋值。
‘‘‘③元组推导式,同列表基本一致,需要注意的是记得加上tuple()函数,
即:f = tuple(int(x*0.5) for x in d if int(x*0.5)%2==0)******注意:记得加上tuple()‘‘‘

nubmer1 = (i for i in range(3))
print(type(nubmer1))                 #<class ‘generator‘>
nubmer = tuple(i for i in range(3))
print(type(nubmer))                  #<class ‘tuple‘>
print(nubmer1.__next__())
print(nubmer1.__next__())
print(nubmer1.__next__())
print(tuple(nubmer1))                #.__next__():遍历生成器对象后,无法再对nubmer1转化为tuple,结果:()

#元组比列表的访问和处理速度快,元组可以作为字典中的键。

原文地址:https://www.cnblogs.com/jxba/p/9863700.html

时间: 2024-10-14 09:12:58

python:序列_元组(常用基础知识)的相关文章

R语言常用基础知识

seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),    length.out = NULL, along.with = NULL, ...) 举例----------Examples----------seq(0, 1, length.out=11) seq(stats::rnorm(20)) #  seq(1, 9, by = 2)     #  seq(1, 9, by = pi)    #  seq(1, 6, by =

windows上Python开发--3.Django的基础知识

最近两天下了班,没事学习了django的开发,今天做个总结.其实大家可以从百度,google搜到一些django的入门视频,初步了解一下django的框架.学习一些基础的概念和知识.本篇主要是对自己这两天做的做个总结. 1.创建第一个views.py 上一篇文章我们在windows上搭建好了django的开发环境并建立一个测试demo. 在settings.py的同级目录下新建views.py目录.并输入以下代码 from django.http import HttpResponse def

SpringMVC常用基础知识

常用注解元素 @Controller 标注在Bean的类定义处 @RequestMapping 真正让Bean具备 Spring MVC Controller 功能的是 @RequestMapping 这个注解 @RequestMapping 可以标注在类定义处,将 Controller 和特定请求关联起来: 还可以标注在方法签名处,以便进一步对请求进行分流 配套的属性有: value 需要跳转的地址 method 基于RestFul的跳转参数,有RequestMethod.get post p

[Python学习] 专题四.文件基础知识

        前面讲述了函数.语句和字符串的基础知识,该篇文章主要讲述文件的基础知识(与其他语言非常类似). 一. 文件的基本操作         文件是指存储在外部介质(如磁盘)上数据的集合.文件的操作流程为: 打开文件(读方式\写方式)->读写文件(read\readline\readlines\write\writelines)->关闭文件 1.打开文件 调用函数open打开文件,其函数格式为: file_obj=open(filename[, mode[, buffering]])

GISer常用基础知识清单

有一些基础性的知识是工作中常用的,很多都是最基础的概念性的东西,好像都是和坐标相关的. 有一些公式常用但总记不住,有一些概念没法不能牢记和说清,所有总结一下. 这篇随笔先列个表,列举下知识点的名字(后续想到了.遇到了会更新). GIS知识分类 我认为GIS知识分3类: G--测绘.平差.地图学基础--测绘方面 I--数据库.开发--IS方面 S--GIS原理 其中GIS原理会与前面的测绘和IS知识有重合部分,不如说GIS原理就是在介绍前二者是如何结合起来的 GIS原理会以一种观点把测绘知识和IS

python学习9 函数的基础知识

1.函数的定义 def  func(): 2.函数的调用 func() 3.函数的返回值 #1.没有返回值 # (1)不写return # (2)只写return后面的代码不在继续执行,返回空,代表结束一个函数,跳到整个函数外面 # break 只是跳出函数内的循环内容 # (3)return None 结束 这个不常用 # 2.返回一个值 # (1) 可以返回任何数据类型 # (2)只要返回了,就可以接收了 # (3)如果一个程序有多个return 只返回一个 # 3.返回多个值 # 多个返回

网络常用基础知识大全

1)如何查看本机所开端口:用netstat -a -n命令查看!netstat结果显示有一些英文,简单说一下这些英文具体都代表什么:LISTEN:侦听来自远方的TCP端口的连接请求SYN-SENT:再发送连接请求后等待匹配的连接请求SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED:代表一个打开的连接FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认FIN-WAIT-2:从远程TCP等待连接中断请求CLOSE-WAIT:等

Python序列之元组 (tuple)

Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套.不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号. 创建元组 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 tup1 = () #空元组 tup2 = ('a','b','c','d') tup3 = (1,2,3,'a','b','c') 元组操作方法及实例展示 可以使用dir(tuple)查看元组支持的操作 count 1 功能:统计元组中某元素的个数 2 语法:T.count(value) -

python小白之路(基础知识一)

一.开篇输出:print("Hello World!") 二.中文自由行:#coding=utf-8 或 # -- coding:UTF-8 -- 三.Linux多行:#!/usr/bin/python 四.不能少的注释:1.#单行注释 2.'''多行注释''' 五.标识符由字母.下划线.数字组成,且数字不能开头 六.不能修改和使用的关键词 import keyword keyword.kwlist 七.命名规范:1.见名知意 2.驼峰命名法 八.字符串的格式化:1."我叫%