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

[经验分享] python入门——python数据类型3

[复制链接]
发表于 2018-8-8 07:17:24 | 显示全部楼层 |阅读模式
一、数据类型
1、核心数据类型:

  •   数字:int, long(python3.5已经没有), float, complex, bool
  •   字符:str, unicode
  •   列表:list
  •   字典:dict
  •   元组:tuple
  •   集合:set(可变集合),frozenset(不可变集合)
  •   文件:file
二、数字类型
  python的数字字面量:整数,布尔型,浮点数,复数,所有数字类型均为不可变
  数字操作:+ , -, *, /, //, **, %, -x, +x
三、列表
  列表是一系列按照特定顺序排列的元素组成可以是字母、数字等;
  在python中,列表用方括号[ ],来表示列表。作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。
1、列表的操作方法和函数
  列表操作包含以下函数:
  1、cmp(list1, list2):比较两个列表的元素
  2、len(list):列表元素个数
  3、max(list):返回列表元素最大值
  4、min(list):返回列表元素最小值
  5、list(seq):将元组转换为列表
  列表操作包含以下方法:
  1、list.append(obj):在列表末尾添加新的对象
  2、list.count(obj):统计某个元素在列表中出现的次数
  3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
  4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
  5、list.insert(index, obj):将对象插入列表
  6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
  7、list.remove(obj):移除列表中某个值的第一个匹配项
  8、list.reverse():反向列表中元素
  9、list.sort([func]):对原列表进行排序
  10、list.append():  在列表末尾添加一个元素
2、访问元素列表及切片
  列表的访问可以是标准输出,也可以是通过索引或切片使用列表中元素的值;
  与字符串的索引一样,列表索引从0开始,如果是反序,最后一个元素是 “-1”,倒数第二个元素的列下标识 “-2”。
  列表可以进行截取、组合等。
  使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符。
#!/usr/bin/python  
# -*- coding: UTF-8 -*-
  
china = ["Chinese","yellowskin",960,16,"北京"]
  
#输出列表
  
print(china)
  

  
#输出特定值,如第二个元素,即索引为1的;
  
print(china[1])
  

  
#输出最后两个元素
  
print(china[-2:])
  

  
#输出前三个元素
  
print(china[:2])
  

  
#输出最后两个元素外的所有元素
  
print(china[:-2])
  

  
#输出第二到第五的元素;
  
print(china[1:4])
  

  
#列表输出可以结合字符处理方法
  
print(china[1].title())
  
print(china[1].upper())
  
#循环访问列表的元素:
  
for i in china:
  
    print(i)
  3、修改、添加、删除列表元素
  由于列表大多数情况下是动态的,那么他的元素、长度等都是不断变化的;
  修改元素通过列下标直接赋值;
  添加元素可以通过append()方法在末尾添加,可以通过insert()方法在特定位置添加;
  删除元素可以通过pop()方法和del语句删除,当然你也可以通过del 删除整个列表;
#!/usr/bin/python  
# -*- coding: UTF-8 -*-
  
china = ["Chinese","yellowskin",960,16,"北京"]
  

  
#将列表第二个元素修改为“blackeyes”
  
china[1] = "black eyes"
  
print(china)
  

  
#在列表末尾添加元素;
  
china.append("Changjian")
  
print(china)
  

  
#在第三个前插入一个元素:
  
china.insert(2,'Shanghai')
  
print(china)
  

  
#列表中删除元素,del语句:
  
del china[-2]
  
print(china)
  

  
#pop()方法删除任意元素:
  
china.pop(2)
  
print(china)
  

  
#根据值删除元素
  
china.remove(960)
  
print(china)
  输出结果:
  ['Chinese', 'black eyes', 960, 16, '北京']
  ['Chinese', 'black eyes', 960, 16, '北京','Changjian']
  ['Chinese', 'black eyes', 'Shanghai', 960,16, '北京', 'Changjian']
  ['Chinese', 'black eyes', 'Shanghai', 960,16, 'Changjian']
  ['Chinese', 'black eyes', 960, 16,'Changjian']
  ['Chinese', 'black eyes', 16, 'Changjian']
  4、对列表进行排序
  对列表进行排序的方法有
  sort()        对列表进行永久排序;
  sorted()              对列表进行临时排序
  reverse()            倒着打印列表,永久排序,恢复时可以再次调用reverse()
  len()                     取出列表的长度;
#!/usr/bin/python  
# -*-coding: UTF-8 -*-
  
counts =[1,3,5,7,9,2,4,6,8,10]
  
counts1= []
  
for i incounts:
  
counts1.append(i)
  
print(counts1)
  
print(counts)
  

  
counts.sort()
  
print(counts)
  

  
print(sorted(counts1))
  
print(counts1)
  

  
counts1.reverse()
  
print(counts1)
  
print(len(counts))
5、遍历列表
  5.1、for循环遍历列表和复制列表
counts =[1,3,5,7,9,2,4,6,8,10]  
counts1= []
  
for i incounts:
  
counts1.append(i)
  
print(counts1)
  
print(counts)
  5.2、创建数值列表
counts2 = [ j**3  for j in range(1,10)]  
print(counts2)
  
type(counts2[2])
  使用range创建数字列表
  counts3 = list(range(1,21,2))
  print(counts3)
  type(counts3[2])
  5.3、列表的简单统计
  counter = list(range(1,21,2))
  min(counter)
  max(counter)
  sum(counter)
四、元组

  •   元组看起来犹如列表,但使用圆括号()来标识。定义元组后,就可以使用索引来访问其元素;
  •   元组的遍历和列表一样可以使用for循环等;
  •   元组是不能修改其元素的,但可以给存储元组的变量赋值;
  •   括号()既可以表示元组,又可以表示数学公式中的小括号。所以,如果元组只有1个元素,就必须加一个逗号,防止被当作括号运算;
  •   元组与列表的区别,元组它的关键是不可变性。
  •   如果在程序中以列表的形式传递一个对象的集合,它可能在任何地方改变;如果使用元组的话,则不能。
  •   元组提供了一种完整的约束。
1、字典基本操作
  字典是另一种可变容器模型,且可存储任意类型对象。
  字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
  d = {key1 : value1, key2 : value2 }
  键必须是唯一的,但值则不必。
  值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

  •   要获取字典中的值,可依次指定字典名和放在方括号内的键;如print(dict[‘key]’)
  •   要添加键-值对,可依次指定字典名、用方括号括起来的键和对应的值;
  •   使用字典存储大量数据或者编写能自动生成大量键-值得代码时,通常需要先定义一个空字典,如:dict = {}
  •   要修改字典中的值,可依次指定字典名、用方括号括起来的键以及与该键相关的新值;
  •   要删除键-值对,可使用del语句键对应的键-值对彻底删除。使用del语句必须指定字典名和要删除的键;
  示例:
#coding:UTF-8  
import string
  

  
#定义一个空字典dict1
  
dict1 = {}
  
#利用for循环给dict1赋值
  
i = 1
  
for word in string.ascii_lowercase:
  if i < 14:
  dict1 = word
  else:
  dict1[word] = i
  i += 1
  
print(dict1)
  

  
#访问字典中的值
  
print(dict1[13])
  
print(dict1['o'])
  

  
#添加键-值对
  
dict1[27] = "error"
  
print(dict1[27])
  

  
#修改字典中的值
  
dict1[27] = "out of range"
  
print(dict1[27])
  

  
#删除键值对
  
print(dict1['z'])
  
del dict1['z']
  
print(dict1)
2、遍历字典
  在遍历字典前,先学习一下字典内置的函数和方法,在遍历时,结合函数和方法遍历输出;
  python字典的函数。
  方法
  解释
  len(dict)
  计算字典元素个数,即键的总数。
  str(dict)
  输出字典以可打印的字符串表示。
  type(variable)
  返回输入的变量类型,如果变量是字典就返回字典类型。
  dict.clear()
  删除字典内所有元素
  dict.copy()
  返回一个字典的浅复制
  dict.fromkeys(seq  [,value])
  创建一个新字典,序列seq中元素作为字典的键,value(可选)作为字典所有键对应的初始值。--seq为一个列表;
  dict.get(key[, default=None])
  返回指定键的值,如果值不在字典中返回default(默认为none)
  key in dict
  如果键在字典dict里返回true,否则返回falsekey -- 在字典中要查找的键
  dict.items()
  以列表返回可遍历的(, 值列表。
  dict.keys()
  以列表返回字典中的所有值。
  dict.setdefault(key, default=None)
  get()类似, 但如果键不存在于字典中,将会添加键并将键值设为default
  dict.update(dict1)
  把字典dict1的键/值对更新到dict里。无返回值。
  pop(key[,default])
  删除字典给定键key 所对应的值,返回值为被删除的值。key值必须给出。否则,返回default
  popitem()
  随机返回并删除字典中的一对键和值。
#coding:UTF-8  
import string
  

  
#定义一个空字典dict1
  
dict1 = {}
  
#利用for循环给dict1赋值
  
i = 1
  
for word in string.ascii_lowercase:
  if i < 14:
  dict1[str(i)] = word
  elif i > 14:
  dict1[word] = str(i)
  i += 1
  
print(dict1)
  

  
#遍历所有的键-值对
  
for key,value in dict1.items():
  print(key)
  print(value)
  print(dict1['1'].upper())
  
#遍历字典中所有的键
  
for key in dict1.keys():
  print(key)
  
#按照顺序遍历字典中所有的键,可以用sorded()来实现
  
for key in sorted(dict1.keys()):
  print(key.upper() + "大爷的")
  

  

  
#遍历字典中多有的值,并使用set()方法去重;
  
dict1['27'] = 'a'
  
print(dict1['27'])
  
for value in set(dict1.values()):
  print(value)
  
print(dict1)
  

  
#字典的浅复制
  
dict2 =dict1.copy()
  
print(dict2)
  

  
#更新字典
  
dict3 = {}
  
dict3.update(dict1)
  
print(dict3)
  

  

  
#删除字典内所有的元素
  
dict1.clear()
  
print(dict1)
3、嵌套
  字典除了单独使用外,经常会涉及到嵌套使用;列表、字典、元组等可以相互嵌套使用;
  使用的方法和对应的列表、字典、元组的使用方法类似,不多做说明;

运维网声明 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.iyunv.com/thread-548368-1-1.html 上篇帖子: python 修改豆瓣pip源 下篇帖子: python 安装pip和Django
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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