当前位置: 首页 > 编程日记 > 正文

元组、列表及其特性

1、

#元组:带了紧箍咒的列表,不可直接修改元组内容

#元组本身不可变数据类型,没有增删改差
#元组内可以存储任意数据类型

t=(1,2,3,4.2,'star')
print t,type(t)

#元组内包含可变数组类型,可以间接修改元组内容
t1=([1,2,3.3],4,5)
t1[0].append(4)
print t1

2、

元组如果只有一个元素的时候,后面一定要加逗号,否则数据类型不确定

如下:
t2=('hello')
t3=(1)
print type(t2),type(t3)

t4=('hello',)
t5=('1',)
print type(t4),type(t5)

3、

# 1.变量交换数值
a = 1
b = 2
b, a = a, b
# 先把(a,b)封装成了一个元组(1,2)
# b =(1,2)[0] a=(1,2)[1]
print a, b# 2.打印变量值
name = 'westos'
age = 10
t = (name,age)
print 'name: %s,age: %d' %(name,age)
print 'name: %s,age: %d' %t# 3.元组的赋值:有多少个元素,就用多少个变量接收
t = ('westos', 10, 100)
name, age, score = t
print name, age, score4.scores = (100, 89, 45, 78, 65)
scoresLi = list(scores)
scoresLi.sort()     # 正序输出
print scoresLi
scores = sorted(scores)  # 正序输出
print scores

4、

元组的特性

allowUsers = ('root','westos','lilly')
allowPasswd = ('123','456','789')

# 索引及切片
print allowUsers[0]
print allowUsers[-1]
print allowUsers[1:]
print allowUsers[2:]
print allowUsers[:-1]
print allowUsers[::-1]

# 重复
print allowUsers * 3


# 连接
print allowUsers + ('jenny','danny')


# 成员操作符
print 'westos' in allowUsers
print 'westos' not in allowUsers

5、

列表的创建

数组:存储同一种数据类型的集合 scores=[12,13,14]
列表:(打了激素的数组):可以存储任意数据类型的集合

# 列表里:可以存储不同的数据类型
li = [1,1.2,True,'hello']
print li
print type(li)

# 列表里面也可以嵌套列表(列表:也是一种数据类型)
li = [1,1.2,True,'hello',[1,2,3,4,5]]
print li
print type(li)

6、

列表的修改

service = ['http', 'ssh', 'ftp']

# 通过索引,重新赋值
service[0] = 'mysql'
print service

# 通过切片
print service[:2]
service[:2] = ['samba','ladp']
print service

7、

列表的删除

service = ['http', 'ssh', 'ftp']

#1.如果pop()不传递值的时候,默认弹出最后一个元素
 print service.pop()
#  pop()也可以传递索引值
 print service.pop(0)

# 2.remove:删除指定的元素
service.remove('ssh')

print service

# 3.del 关键字 从内存中删除列表
print service
del service
print service

注意:使用del时须谨慎,删除后是将其从内存中删除。

8、

列表的在增加

service = ['http', 'ssh', 'ftp']

# 1.增加元素
print service + ['firewalld']

# 2.append:追加 追加一个元素到列表中
service.append('firewalld')
print service

# 3.extend:拉伸 追加多个元素到列表中
service.extend(['mysql', 'firewalld'])
print service

# 4. insert:在指定索引位置插入元素
service.insert(1,'samab')
print service

9、

列表的排序

service = ['http', 'ssh', 'ftp','ftp']
 # 按照Ascii码进行排序的
 service.sort()
 print service


#按Ascii码倒序输出

service.sort(reverse=True)
 print service

phones = ['bob', 'harry', 'Lily', 'Alice']

#按Ascii码进行输出
phones.sort()
#对字符串排序不区分大小写
 phones.sort(key=str.lower)

#phones.sort(key=str.upper)

print phones

import random
li = list(range(10))
print li
# 将原有的列表顺序打乱
random.shuffle(li)
print li

10、

列表的查看

service = ['http', 'ssh', 'ftp','ftp']

# 查看列表中元素出现的次数
print service.count('ssh')
print service.count('ftp')
# 查看指定元素的索引值
print service.index('ssh')
print service.index('ftp')

11、

列表的特性

service = ['http', 'ssh', 'ftp']

# 索引
print service[0]
print service[-1]


# 切片
print service[::-1]     # 列表的翻转
print service[1:]       # 除了第一个元素之外的其他元素
print service[:-1]      # 除了最后一个元素之外的其他元素


# 重复
print service * 3


# 连接
 service1 = ['mysql','firewalld']
 print service + service1


# 成员操作符
 print 'firewalld' in service
 print 'firewalld' in service1
 print 'firewalld' not in service1


# for循环遍历
print '显示服务'.center(50,'*')
for se in service:
     print se

# 列表里嵌套列表
service2 = [['http',80],['ssh',22],['ftp',21]]
# 索引
print service2[0][1]
print service2[-1][1]
# 切片
print service2[:][1]
print service2[:-1][0]
print service2[0][:-1]

相关文章:

JZOJ #4722 跳楼机 (最短路模型的完美转化)

题目描述: 给出$h,x,y,z$,求在$h$以内,$x,y,z$可以凑出多少个不同的数。$(1\leq{h}\leq{10^{18}},1\leq{x,y,z}\leq{10^5})$ 解题思路: 直接做显然不好做。我们考虑取$n$个$y$和$m$个$z$,然后再加上$x,2*x,3*x\cdots$&…

【C++】STL队列和栈的使用

C的STL标准模板库提供了队列和栈的基本操作。下面通过两个demo分别介绍STL队列和STL栈的使用。 Demo1:STL队列 【题目】卡片游戏(题目来自刘汝佳《算法竞赛入门》) 桌上又一叠牌,从第一张牌(即位于顶面的牌&#xf…

mongodb的shell命令

MongoDB常用命令: 超级用户相关: use admin #增加或修改用户密码 db.addUser(ixigua,pwd) #查看用户列表 db.system.users.find() #用户认证 db.auth(ixigua,pwd) #删除用户 db.removeUser(mongodb) #查看所有用户 show users #查看所有数据库 show dbs …

字典、集合及其特性

1、 字典的定义 """ 字典是一个无序的数据集合,使用print输出字典的时候 通常输出的顺序和定义的顺序是不一致的 """ message { name:tom, age:18, height:1.80, weight:75.5 } print message s {} prin…

[HDOJ2819]Swap(二分图最大匹配, 匈牙利算法)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid2819 题意:给一张n*n的01矩阵,可以任意交换其中的行或者列,问是否可以交换出来一个对角线上都是1的矩阵。 按行列号建图,如果(i,j)为1的话,则i和…

脚本路径问题_dirname

pwd可获取命令当前的路径 可是若我们想在脚本中获取脚本所在文件夹的路径,这种方法是不够用的。 例如,我们的脚本放在/home/user/script/下,名字叫做getpath.sh getpath.sh有一行脚本是了local_path$(pwd) 现在我们在/home/user/下&#xff0…

【iOS官方文档翻译】iOS蓝牙的基本概念

之前写了【iOS官方文档翻译】iOS的蓝牙连接、数据接收及发送一文,介绍了怎样进行蓝牙通讯,但是很多基本概念没有进行解释,看起来可能有点吃力,所以现在再翻译一篇苹果对官方蓝牙4.0一些基本概念介绍的文章。 1.中心设备和外围设备…

元组、列表、字典及集合练习

列表练习题: #假定有下面这样的列表: #names [lily, denny, jenny, apple] #输出结果为:I have lily,denny, jenny and apple. names [lily, denny, jenny, apple] print I have ,.join(names[:-1]) and names[-1] 2、后台管理前台会员信息 要求&#…

【iOS】sqlite3的使用(増删改查)

目录: 一、sqlite3常用函数 二、将sqlite3集成到项目,实现増删改查 三、封装DBManager 四、Demo 一、sqlite3常用函数及解释 (1)sqlite3_open: 用来创建和打开数据库文件,接收两个参数,第一个是数据库…

网上搜集了点资料,学web的人互相分享共同进步吧(php编码的好习惯必须养成)...

网上搜集了点资料,学web的人互相分享共同进步吧 一、优秀的代码应该是什么样的? 优秀的PHP代码应该是结构化的。大段的代码应该被分割整理成一个个函数或方法,而那些不起眼的小段代码则应该加上注释,以便日后清楚它们的用途。而且…

div模拟textarea文本域轻松实现高度自适应——张鑫旭

by zhangxinxu from http://www.zhangxinxu.com本文地址: http://www.zhangxinxu.com/wordpress/?p1362 一、关于textarea文本域以及高度自适应 textarea标签为表单元素,一般用在多行文字的输入。在web应用上常见的是评论输入框,微博信息输入…

【iOS】Mapkit的使用:地图显示、定位、大头针、气泡等

以前做项目用高德地图SDK,需要注册账号和AppID,然后下载SDK集成到项目中,比较麻烦,这几天看了下苹果自带的MapKit框架,感觉挺好用,官方文档也介绍得很详细,所以按照官方文档写了个demo&#xff…

java.lang.NoSuchMethodError: org.springframework.core.io.ResourceEditor错误

一般是jar包冲突,或者某些jar包版本不同。 如上,spring其他包的版本均为4.2.5,而spring-webmvc的jar包为1.2.6版本,造成版本冲突。 把该包版本改为4.2.5,宣告成功! 转载于:https://www.cnblogs.com/toSeeMy…

SDUTOJ 1293 乘积最大的分解(数论)

乘积最大的分解思路: 让分解出来的因子有尽可能多的3,剩下的用2补全。 最开始思路错了,WA了好长时间 ! 函数中n 1的情况应该是不用,经测试数据中没有这组。 *注意用 long long 99的时候会超int的数据范围 1 #include …

列表及字典生成式

列表生成式: 列表生成式就是一个用来生成列表的特定语法形式的表达式。 语法格式: [exp for iter_var in iter] 迭代iter中的每个元素; 每次迭代都先把结果赋值给iter_var,然后通过exp得到一个新的计算值; 最后把…

[SQL基础教程] 1-5 表的删除和更新

[SQL基础教程] 1-5 表的删除和更新 表的删除 语法DROP TABLE <表名>; 法则 1-12 删除的表无法恢复 表定义的更新 语法ALTER TABLE<表名> ADD COLUMN<列的定义>; // 添加列 ALTER TABLE<表名> DROP COLUMN<列的定义>; // 删除列 ps: **Oracle、SQ…

【iOS】自定义控件入门:可拖动的环形进度

有时候UIKit的标准控件并不能满足我们的需求&#xff0c;因此我们可以通过自定义控件得到满足我们需求的控件&#xff0c;例如这篇文章将教你如何自定义一个圆形的进度条&#xff0c;并且用户可以通过拖动进度条上的手柄来改变进度值。主要参考了这篇文章&#xff1a;HOW TO BU…

在.NET2.0中解析Json和Xml

在.NET2.0中解析Json和Xml 在.NET解析json有很多方法&#xff0c;这里介绍最简单也用的最多的一种。 一、添加引用 解析Json&#xff0c;先下载开源控件 Newtonsoft.Json.dll 下载地址&#xff1a;http://files.cnblogs.com/gosky/Newtonsoft.Json%E9%9B%86%E5%90%88.zip 解压以…

虚拟机的基本操作

1、用户界面 [kioskfoundation156 Desktop]$ kiosk #打开shell的用户 #分隔符 foundation156 #主机名称 Desktop #工作目录名称 $ ##身份提示符&#xff0c;#表示超级用户&#xff0c;$表示普通用户 特别注意&a…

strong assign属性

strong:这要求运行时自动地保留对这个对象的引用。换而言之&#xff0c;ARC&#xff08;Automatic Reference Counting&#xff09;在运行时会一直把这个对象保留在内存里&#xff0c;直到它不再被任何其他对象引用。之后&#xff0c;其所占的内存会被自动释放。assign:表示这…

iOS7的界面上移问题

第一种方法&#xff1a;修改BaseSDK XCode5的默认BaseSDK是iOS7&#xff0c;所以要修改成工程文件创建时的BaseSDK。但是XCode5中默认只带有iOS7的SDK&#xff0c;所以要想能做到更改SDK&#xff0c;我们就要添加旧的SDK。 1.从苹果开发者中心下载旧版本XCode&#xff0c;https…

【Android】ActionBar的使用(1)

前&#xff08;fei&#xff09;言&#xff08;hua&#xff09;&#xff1a;转行iOS开发半年&#xff0c;很久没接触Android了&#xff0c;前几天去上课&#xff0c;听着实在无聊&#xff0c;随手拿了同学的一本《Android UI设计》&#xff0c;发现有好多基础知识自己虽然用过&a…

装饰器及例题分析

知识点&#xff1a; 装饰器的定义&#xff1a; - 装饰器的实现是函数里面嵌套函数; - 装饰器的本质是一个函数&#xff0c; 它可以让其他函数在不需要做任何代码改动的前提下增加额外的功能; - 装饰器需要传递一个函数&#xff0c; 返回值也是一个函数对象. 1、map函数 def …

iOS开发系列--让你的应用“动”起来

概览 在iOS中随处都可以看到绚丽的动画效果&#xff0c;实现这些动画的过程并不复杂&#xff0c;今天将带大家一窥iOS动画全貌。在这里你可以看到iOS中如何使用图层精简非交互式绘图&#xff0c;如何通过核心动画创建基础动画、关键帧动画、动画组、转场动画&#xff0c;如何通…

ios app 砸壳

这里介绍使用dumpdecrypted砸壳。原理是用DYLD_INSERT_LIBRARIES这个环境变量加载脱壳的动态链接库dumpdecrypted.dylib 1.ssh连接上越狱的机器&#xff0c;输入密码alpine ssh root192.168.7.116 2.打开要砸的app&#xff0c;ps aux | grep var找到它的目录 yigewangde-iPhone…

基于visual Studio2013解决面试题之0804复杂链表

&#xfeff;&#xfeff;&#xfeff;题目解决代码及点评/*复杂链表的拷贝&#xff0c;现在有一个复杂链表&#xff0c;完成一个clone函数拷贝一个链表复杂链表是指struct Node{struct Node* _next;struct Node* _sibling; // sibling指向链表中任意一个节点&#xff0c;或者…

python考试编程题

3. a: while True: s raw_input(变量名为:) if s exit: print 退出 break #判断是否由字母或下划线组成 if s[0].isalpha() or s[0] _: for i in s[1:]: if not (i.isalnum() or i _): print %s变量…

【分享】bootstrap学习笔记

一、基础知识 1.整体架构以响应式设计为理念&#xff0c;css组件、js插件jquery、基础布局组件和12栅格系统搭建。1.1响应式设计&#xff1a;结合media query查询&#xff0c;适应更多设备&#xff0c;自动适应用户的设备环境&#xff0c;不必为每个终端做一个特定的版本。2.cs…

大三下学期总结

本学期的最后一门考试已经考完了&#xff0c;就相当于本学期要结束了&#xff0c;本学期结束了&#xff0c;就相当于大学的学习生活接近尾声了。感觉大三下开学也只在不久之前&#xff0c;但是真的要结束了&#xff0c;我觉得这学期实在是过得太充实了&#xff0c;一直是在追着…

通过 cygwin64 自己编译对应的 Tera Term cyglaunch.exe

步骤如下&#xff1a; 将 cygterm.tar.gz解压到任意目录&#xff0c;当然要cygwin容易操作。&#xff08;本例直接放到$HOME目录下&#xff0c;启动cygwin后的默认目录&#xff0c;如果之前没有更改的话&#xff09;将 Makefile 中的 -mno-cygwin 选项删除。执行make&#xff0…