python_day2_数据格式

简介:

本章目录

2.1 for 扩展用法

2.2 格式化字符串

2.3 数据类型

    2.3.1 整数

    2.3.2 符点型

    2.3.3 字符串

    2.3.4 列表,元组

    2.4.5 字典

    2.4.6 fromkeys

    2.4.7 set


2.1 for 简单用法

for 循环

1
2
3
4
5
     range ()    循环的次数 
     >>>  range ( 3 )
      [ 0 1 2 ]
     >>>  range ( 1 , 3 )
      [ 1 2 ]

    >>> range(1,100,2)  从1开始100结束,步长2


    for  exam in enumerate(数组) 自动增加一个编号

    for  exam,v in enumerate(数组,1)   从1开始

    print(exam,v)   去掉元组括号


2.2 格式化字符串

格式化输出占位符  %s, s = str 字符串

          %d, d = digit 整数

           %f, f = float 浮点数

格式化输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#/usr/bin/env python
# -*- codeing:utf-8 -*-
name  =  input ( "Name:" )
age  =  input ( "age: " )
job  =  input ( "Job: " )
salary  =  input ( "salary: " )
 
if  salary.isdigit():
     salary  =  int (salary)
# else:
#     exit("enable int  ")
 
xio  =   '''
---------- info of %s ----------
Name: %s
Age:  %s
Job:  %s
Salary: %f
---------- end ----------
'''  %  (name,name, age, job, salary )
 
print (xio)

### 输出

1
2
3
4
5
6
7
8
9
10
11
Name:xiong
age:  22
Job: it
salary:  3333
 
- - - - - - - - - -  info of xiong  - - - - - - - - - -
Name: xiong
Age:   22
Job:  it
Salary:  3333.000000
- - - - - - - - - -  end  - - - - - - - - - -

2.3 数据类型

    整数: 判断 isdigit  长的像不像数字

    数字

    整数  int(integer)

    整型

    长整型

    in py3 已经不区分整型与长整型,统一叫做整型

    

浮点数:

    用于处理实数,即带有小数的数字,占8个字节(64位) 其中52位表示底,11位表示指数,剩下一位表示符号。


布尔 只有2种   

    真: True 

    假: False


列表, 元组

    a = ['aa','bb','cc','dd','ee','ff']

    a = [ 0  , 1  , 2,    3,   4,   5 ]   # 这里为上面值的下标第一个值对应下标0

    

    in 包含某个内容是否存在于数据中,

    

    查询:  索引(下标), 都是从0开始

    print (a[0])   # 取第0个索引,意为第一个值

    打印结果为:  aa

    

    print(a[1:3])  # 从左往右,从第2个值一直到第4个值

    打印结果为:  ['bb', 'cc']   顾头不顾尾,最后一个不打印出来

    

    print(a[1::1]) # 从第1个值开始一直到最后一个,步长每次加1,从左往右

    打印结果为:  ['bb', 'cc', 'dd', 'ee', 'ff']

    

    print(a[::-1]) # 从第1个开始直到最后一个,但这里是从右开始减,每次减一直至最后

    打印结果为:  ['ff', 'ee', 'dd', 'cc', 'bb', 'aa']

    

添加:

    a.append('gg') # 最右添加一个值 

    打印结果为:  ['aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg']

    a.insert(2,'hh') # 默认插到最后一个位置,这里插到第2个索引

    打印结果为:  ['aa', 'bb', 'hh', 'cc', 'dd', 'ee', 'ff', 'gg']


修改:

    a[2]='hc'# 将原先插入的第2个值hh直接修改为hc

    打印结果为:  ['aa', 'bb', 'hc', 'dd', 'ee', 'ff']

    

    a[2:3]=['ha','da']# 将第2个值hh,第3个值dd修改为ha da

    打印结果为:  ['aa', 'bb', 'ha', 'da', 'dd', 'ee', 'ff']


删除:

    a.remove('ha') # 删除值,这里只能删除内容,不能直接删除下标

    打印结果为:  ['aa', 'bb', 'da', 'dd', 'ee', 'ff']

    

    # a.remove(a[0]) # 删除指定值的下标,如不清楚内容的情况下,可以用这种方式

    # 打印结果为:  ['bb', 'da', 'dd', 'ee', 'ff']

    

    a.pop(1)   # 删除指定索引

    打印结果为:  ['aa', 'cc', 'dd', 'ee', 'ff']

    

    b=a.pop(1)     # 删除指定索引,并直接赋值给b,方便查看删除的某个值的内容,避免犯错

    打印结果为:  bb

    

    a.clear()  # 清空

    

    del a       # 直接将对象a给删除

    

    del a[1]# 删除指定索引1 ,简单粗暴,但危险


统计出现的字符串: count

    b = ['11','22','33','11','22','11'].count('11')定义一个对象以及数组,并统计type(str(11))出现了多少次

    打印结果为: 3


附加字符串: extend

    a=['1','2','3']

    b=['4','5','6']

    a.extend(b)# 定义两个值,将b内容附加扩展到a上

    打印结果为: ['1', '2', '3', '4', '5', '6']


查找索引: index

    print(a.index('cc'))# 查询内容对应的下标索引值是多少

    打印结果为: 2


将结果倒过来输 reverse

    b = ['11','22','33','11','22','11']

    print (b.reverse())  # 这种方式只能得出none, 想输出只能 b.reverse()  print(b)

    打印结果为: ['11', '22', '11', '33', '22', '11']


    b.sort(reverse=True) # 从大到小排序


排序 sort     # 函数直接对内容进行排序,没有return返回值所以赋值给另一个值会直接为空

    b = ['11','22','33','11','22','11']

    --> b.sort()

    --> print(b)

    打印结果为:['11', '11', '11', '22', '22', '33']


身份判断  >>> type(a) is list

True


元组:  只读列表

    xx = ()    # 空元组

    xx2 = (20,) # 一个元素,需要在元素后添加括号


2.4.5 字典


字典: 键值对数据类型

字典必须是不可修改的类型,字典,元组 都不可以做为键

字典两大特点: 无序,键唯一


a=[1,2,3]

a=list((1,2,3))


dict()   跟list创建方法是一样的

dic1=[]

dic2=dict()  方法必须带括号   dic2=dict((("name","xiong"),("age",33),))


键值添加

dic1={"name":"xiong"}

dic["age"]=222


# 键存在,不改动,返回字典中相应的键的对应值 

dic1.setdefault("hobby","NNN")


# 键不存在,在字典中增加新的键值对,并返回相应值


字典查询

dic1 = {"name":"xiong", "age":33,}

print(dic["age"])


# 将所有的键都取出做为一个列表, 类型为dict_keys

dic1.keys()结果:dict_keys(['name', 'age', '1'])


# 将字典中所有的值都出来

dic1.values()结果: dict_values(['xiong', 33, 'test1'])


# 将字典的键值对都取出来

dic1.items()结果:dict_items([('name', 'xiong'), ('age', 33), ('1', 'test1')])


xx = list((dic1.keys()))

print(type(xx))<class 'list'>


修改

dic = {"name":"xiong", "age":33,}

dic["age"]=34


dic2 = {'1':'111','2':'222'}

dic.update(dic2)# 跟列表中extend功能一样

结果为 {"name":"xiong", "age":33, '1':'111', '2':'222'}


删除

del dic1["name"]结果: 删除name的键值对

del dic1 结果: 删除整个字典


dic1.clear()结果: 清空字典


dic5.pop("age")结果: 删除字典中指定键值对,并返回该键值对的值


# 随机删除一个键值对,并以元组方式返回值

dic1.popitem() 



2.4.6  fromkeys

其它操作以及涉及到的方法

dic3=dict.fromkeys(["h1","h2","h3"],"hhh")

print(dic3)得出结果 {'h1': 'hhh', 'h2': 'hhh', 'h3': 'hhh'}


# 将多个值赋值给多个键

dic3=dict.fromkeys(["h1","h2","h3"],["hhh","ggg"])  

print(dic3)结果:{'h1': ['hhh', 'ggg'], 'h2': ['hhh', 'ggg'], 'h3': ['hhh', 'ggg']}


字典的嵌套

data = [

{"1",22 },

{"2",33 },

]


排序

# 返回一个有序的包含字典所有key的列表

print(sorted(dic3.items()))

结果: [('h1', ['hhh', 'ggg']), ('h2', ['hhh', 'ggg']), ('h3', ['hhh', 'ggg'])]


遍历

dic1=dict((("name","xiong"),("age",33),))

for i in dic1:

   print(i,dic1[i])


2.4.7 set

set: 把不同的元素组成一起形成集合,是py基本的数据类型 

# 去重功能,当有两个相同的元素的时候会去掉重复的字符串

# 必须是可hash的字符串,set是无序的,只能通过循环遍历或使用in、not in来访问或判断集合元素

# set 不能做为键


更新set集合_添加

a = ["a","b"]

c=set(a)

c.add("c")

print(c)结果: {'b', 'a', 'c'}


update 

c.update("ab1")

print(c)结果: {'b', '1', 'a', 'c'} 

# ab1 做为一个序列添加,有重复的不会添加序列, 没有重复的会直接添加到列表中


c.update([123,321])  # 当为列表时,它会将序列当成一个整体加入到变量中,有重复的也不会添加 

print(c)# {321, 'b', 'a', 123}


remove, pop, clear, del

c.remove("a") 结果: {'b', '1', 'c'} 

c.pop()结果: 随机删除一个

c.clear()# 结果: 清空列表 返回 set()

del c # 直接删除变量,打印报错因为已经没了


交集,并集

a=set([1,2,3,4,5])

b=set([1,2,3,4,6])

交集: print( a & b)   # {1, 2, 3, 4}

并集: print( a | b)   # {1, 2, 3, 4, 5, 6}


差集, 对称差集

差集: print(a.difference(b))   in a but bot b  # A有的B没有的打印出来

第二种方法: print (a-b) 

# {5}   反过来也一样

对称差集: print(a.symmetric_difference(b))     AB有的都不打印,只打印它共同没有的字符串或数值

第二种方法: print ( a^b )

# {5, 6}  


超集,子集

print(a.issuperset(b))# A是不是完全包含B,否 返回 False 相当于A>B

print(a.issubset(b))# A是不是B的子集   相当于A<B


name1=set(["xiong","wei","hua","fa"])

name2=set(["xiong","yua","yuan","hua"])


# 子集        # 判断两个字段是否相等

print(name1<name2)      # False


# 父集        # 判断两个字段是否相等

print(name1>name2)      # False


# 并集        # 打印去重之后的

print(name1 | name2)    # {'hua', 'xiong', 'yuan', 'wei', 'fa', 'yua'}


# 交集        # 共同有的

print( name1 & name2 )  # {'hua', 'xiong'}


# 差集        # 用集合1减去集合2的相同字段,取出与集合2不相关的

print( name1 - name2 )  # {'wei', 'fa'}


# 对称差集     # 取出A跟B有的,打印两个集合没有的字符串

print( name1 ^ name2 )  # {'yuan', 'yua', 'fa', 'wei'}


# 手动输入一些字符串与自行定义的字符串进行对比

1
2
3
4
5
6
7
8
9
10
11
ins = []
b = set ([ '1' , '2' , '3' , '4' , '5' ])
while  True :
     a = input ( "测试: " )
     if  = =  "q" :
         break
     ins.append(a)
  
ins = set (ins)
  
print (ins > b )



     本文转自812374156 51CTO博客,原文链接:http://blog.51cto.com/xiong51/1962935,如需转载请自行联系原作者



相关文章
|
22天前
|
缓存 API 网络架构
淘宝item_search_similar - 搜索相似的商品API接口,用python返回数据
淘宝联盟开放平台中,可通过“物料优选接口”(taobao.tbk.dg.optimus.material)实现“搜索相似商品”功能。该接口支持根据商品 ID 获取相似推荐商品,并返回商品信息、价格、优惠等数据,适用于商品推荐、比价等场景。本文提供基于 Python 的实现示例,包含接口调用、数据解析及结果展示。使用时需配置淘宝联盟的 appkey、appsecret 和 adzone_id,并注意接口调用频率限制和使用规范。
|
2月前
|
存储 Web App开发 前端开发
Python + Requests库爬取动态Ajax分页数据
Python + Requests库爬取动态Ajax分页数据
|
2月前
|
JSON API 数据格式
Python采集京东商品评论API接口示例,json数据返回
下面是一个使用Python采集京东商品评论的完整示例,包括API请求、JSON数据解析
|
4月前
|
JSON 算法 API
1688商品详情API实战:Python调用全流程与数据解析技巧
本文介绍了1688电商平台的商品详情API接口,助力电商从业者高效获取商品信息。接口可返回商品基础属性、价格体系、库存状态、图片描述及商家详情等多维度数据,支持全球化语言设置。通过Python示例代码展示了如何调用该接口,帮助用户快速上手,适用于选品分析、市场研究等场景。
|
5月前
|
数据采集 NoSQL 关系型数据库
Python爬虫去重策略:增量爬取与历史数据比对
Python爬虫去重策略:增量爬取与历史数据比对
|
24天前
|
JSON 安全 API
Python处理JSON数据的最佳实践:从基础到进阶的实用指南
JSON作为数据交换通用格式,广泛应用于Web开发与API交互。本文详解Python处理JSON的10个关键实践,涵盖序列化、复杂结构处理、性能优化与安全编程,助开发者高效应对各类JSON数据挑战。
109 1
|
2月前
|
XML Linux 区块链
Python提取Word表格数据教程(含.doc/.docx)
本文介绍了使用LibreOffice和python-docx库处理DOC文档表格的方法。首先需安装LibreOffice进行DOC到DOCX的格式转换,然后通过python-docx读取和修改表格数据。文中提供了详细的代码示例,包括格式转换函数、表格读取函数以及修改保存功能。该方法适用于Windows和Linux系统,解决了老旧DOC格式文档的处理难题,为需要处理历史文档的用户提供了实用解决方案。
131 1
|
2月前
|
缓存 监控 API
1688平台开放接口实战:如何通过API获取店铺所有商品数据(Python示列)
本文介绍如何通过1688开放平台API接口获取店铺所有商品,涵盖准备工作、接口调用及Python代码实现,适用于商品同步与数据监控场景。
|
4月前
|
Web App开发 数据采集 JavaScript
动态网页爬取:Python如何获取JS加载的数据?
动态网页爬取:Python如何获取JS加载的数据?
808 58
|
2月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
69 4

热门文章

最新文章

推荐镜像

更多