设为首页 收藏本站
查看: 1049|回复: 0

[经验分享] python数据类型—列表、元组、字典

[复制链接]

尚未签到

发表于 2018-8-15 06:35:02 | 显示全部楼层 |阅读模式
  *列表生成
  *元组
  *字典
  以下实验均由2.7版本操作完成
  一、列表生成
  1.语法:
  range(starti  stop  step)         2.7版本
  list(range(starti  stop  step)))    3.5版本
  生成一个从数字1到10的列表;
print(list.pop());  
a=list(range(1,10));
  
print(a)
  
## [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  2.通过循环生成列表:
  语法:[x for x in range(starti,stop)]
  第一个“x”:是从第几开始
  第二个“x”:是到第几个数为止
print([x for x in range(1,11)]);  
######
  
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  3.用列表推导式生成100内的大于20的偶数
  print [x for x in range(0,101) if x % 2==0 and x>20]
  [expr for iter_var in iterable if cond_expr]
  加入判断,只有满足条件的内容,才把iterable放入到iter中。
  b = range(1,11)
  print b #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  c = range(1,11,2)
  print c #[1, 3, 5, 7, 9]
  二、元组
  1.什么是元组:也是一种容器类型,元组的元素不能修改,元组使用小括号包裹数据
  2.如何创建:在括号中添加元素,用逗号隔开
tup1=('kate','lisa',1997,2000);  
tup2=(1,2,3,4,5)
  
tup3='a','b','c','d'
  
print(tup1);
  
print(tup2);
  
print(tup3);
  
##
  
('kate', 'lisa', 1997, 2000)
  
(1, 2, 3, 4, 5)
  
('a', 'b', 'c', 'd')
  3.如何创建空元组
  tup=()
  元组中只包含一个元素时,需要在元素后面添加逗号
  元组与字符串类似,下标也是从0开始,可以进行截取组合
  4.访问元组:
  元组可以使用下标该问值
tup1=('kate','lisa',1997,2000);  
print(tup1[0:2]);
  
##
  
('kate', 'lisa')
  5.修改元组
  元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
  eg:
tup1=('abc','def');  
tup2=('lisi','kate');
  
tup3=tup1+tup2;
  
print(tup3);
  
##
  
('abc', 'def', 'lisi', 'kate')
  6.删除元组
  元组中的元素是不允许删除的,可以用del语句来删除整个元组
  del 元组;//执行完语句会报错
  7.元组运算符
  组合、复制,运算后生成新的元组
  a.len() :显示列表的长度
  b.连接+
  c.复制
print((1,2,3)*2)  
##
  
(1, 2, 3, 1, 2, 3)
  d. 元素是否存在 (返回值为bool值)
print(3 in (1,2,3));  
##
  
True
  e.迭代(循环遍历元组元素)
  语法:
  for x in 元组:
  print(x)
  eg:
list=('lisi','kate','zhangsan','1900');  
for x in list:
  
    print(x);
  
##
  
lisi
  
kate
  
zhangsan
  
1900
  8.元组截取
  a=('how' ,'are','you')
  a[1]
  a[-2]
  a[1:] //are you
  9.无关闭分隔符
  x,y=1,2
  print(x,y)   //2.7版本
  ##
  (1, 2)
  10.元组内置函数
  a.len(t):查看列表长度
  b.max(t):列表内最大值
  c.min(t):列表内最小值
  d.tuple(lists) 将列表转换为元组
  三、字典
  由键和值,成对组成的对象,字典也被称为关联数组(hash列表)
  对象=数据+方法
  1.字典特点:
  ①.无序(通过键实现元素存取)
  ②.可变: 通过键改变值
  eg:
x={'ename':'lisi','sx':100,'yw':90,'yy':60}  
x['ename']='kate'
  
print(x);
  
###
  
{'yy': 60, 'ename': 'kate', 'sx': 100, 'yw': 90}
  ③.异构:支持多种数据类型
  ④.嵌套:可以在键值对中的值部分出现字典、列表、元组
x={'ename':'lisi','sx':100,'yw':90,'yy':(2,3)}  
x['ename']='kate'
  
print(x);
  
###
  
{'yy': (2, 3), 'ename': 'kate', 'sx': 100, 'yw': 90}
  如果同一个键同时出现两次,后一个值会被记住
  2.字典定义:
  方法一:{key1:value1,key2:value2...}key1必须用引号包裹
  注意:字典中的键必须是唯一的,而值可以不唯一
  方法二:dict() 内置函数,指定健值
  x=dict(ename='fbb',sx=95,yw=65)
  该问字典里的值:x['ename']
x=dict(ename='fbb',sx=95,yw=65);  
print(x['ename']);
  
###
  
fbb
  3.修改字典里的值:
  语法:x[key]=value
  添加新元素:x[newkey]=newvalue
x={'a':1,'b':2,'c':3};  
x['c']=5;
  
print(x);
  
###
  
{'a': 1, 'c': 5, 'b': 2}
  4.删除字典元素 (x字典)
  1删除字典中的元素
  del x['key']
  2.清空字典所有条目
  x.clear()
  3.删除整个字典
  del x(x为字典名)
  5.变量解包:items( )将字典转化为键、值作为元组的列表
  语法:x.items()
  eg:
x={'a':1,'b':2,'c':3};  
print (x.items());
  
###
  
[('a', 1), ('c', 3), ('b', 2)]
  只取键:keys()
  x.keys()
x={'a':1,'b':2,'c':3};  
print(x.keys());
  
###
  
['a', 'c', 'b']
  只取值:values()
  x.values()
x={'a':1,'b':2,'c':3};  
print(x.values());
  
###
  
[1, 3, 2]
  has_key():判断是否存在某个键,返回结是bool值
  x.has_key('键')
  eg:
x={'a':1,'b':2,'c':3};  
print (x.has_key('a'));
  
###
  
True
  len():取得字典中键值对个数
  len(x)
  eg:
x={'a':1,'b':2,'c':3};  
print(len(x));
  
###
  
3
  update():在原字典上合并字典,键相同时会覆盖
  语法:x1.update(x2);
x1={'a':1,'b':2,'c':3};  
x2={'a':3,'d':4,'e':5};
  
x1.update(x2);
  
print(x1);
  
####
  
{'a': 3, 'c': 3, 'b': 2, 'e': 5, 'd': 4}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-551866-1-1.html 上篇帖子: CentOS6.5+Python2.7+ GIT +IPython-xinsz08の平行时空 下篇帖子: Python 三级菜单——Alex
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表