我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【Python3】04、内置数据结构

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【Python3】04、内置数据结构



1、把字符串形式的整数或浮点数转化为int或float, 不适用int和float函数

In [57]: str1 = "2468.1357"

In [58]: d1 = {"0":0, "1":1, "2":2, "3":3, "4":4, "5":5, "6":6, "7":7, "8":8, "
    ...: 9":9}
    
In [59]: int1, float1 = str1.split(".")     #整数就报错了,不够严谨

In [60]: sum1 = 0

In [61]: sum2 = 0

In [62]: for k, v in enumerate(int1):
    ...:     sum1 += d1[v] * 10 ** (len(int1) - k - 1)
    ...: for i, j in enumerate(float1):
    ...:     sum2 += d1[j] * 10 ** (-(i + 1))
    ...: print(sum1 + sum2)
    ...: 
2468.1357

#############
In [75]: mapping = {str(x):x for x in range(9)}

In [76]: mapping
Out[76]: {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8}

In [78]: s.partition('.')
Out[78]: ('123', '.', '456')

In [81]: s = "123"

In [82]: s.partition('.')
Out[82]: ('123', '', '')

In [83]: s = "12.3"

In [84]: s.partition('.')
Out[84]: ('12', '.', '3')

In [93]: s = "123.456"

In [94]: i, _, f = s.partition('.')

In [97]: ret = 0

In [98]: for idx, x in enumerate(i[::-1]):
    ...:     ret += mapping[x] * 10 ** idx
    ...:     

In [99]: ret
Out[99]: 123

In [100]: for idx, x in enumerate(f):
     ...:     ret += mapping[x] / 10 ** (idx+1)
     ...:     

In [101]: ret
Out[101]: 123.456        #结果可能会有精度的问题


###先全部当成整数来运算###
In [106]: ret = 0

In [107]: for idx, x in enumerate((i+f)[::-1]):
     ...:     ret += mapping[x] * 10 ** idx
     ...:     

In [108]: ret / 10 ** len(f)
Out[108]: 123.456             #精度损失会少一点


2、移除一个列表中的重复元素,并保持列表原来的顺序

In [33]: l1 = [1, 3, 5, 7, "a", 7, 3, 1, "a", "b", "ab"]

In [34]: l2 = []

In [35]: for i in l1:
    ...:     if i not in l2:         #O(n),效率不高
    ...:         l2.append(i)
    ...: print(l2)
    ...: 
[1, 3, 5, 7, 'a', 'b', 'ab']

###############
In [7]: l1 = [1, 3 ,5, 7, "a", "b", 5, 3, 1, "ab"]

In [8]: s = set()

In [9]: new_lst = []

In [10]: for x in l1:
    ...:     if x not in s:         #O(1),空间换时间
    ...:         new_lst.append(x)
    ...:     s.add(x)
    ...:     

In [12]: new_lst
Out[12]: [1, 3, 5, 7, 'a', 'b', 'ab']


3、统计文本中各单词出现的次数

In [170]: str1 = '''Hello world  I like Python i like python too he he python i
     ...:  i world'''

In [171]: l1 = str1.split()

In [172]: j = 1

In [173]: d1 = {}

In [174]: for x in l1:
     ...:     if x not in d1:       #思路对了
     ...:         d1[x] = j
     ...:     else:
     ...:         d1[x] += 1
     ...: print(d1)
     ...: for k in d1:
     ...:     print("The {} count: {}".format(k, d1[k]))
     ...:     
{'i': 3, 'Python': 1, 'I': 1, 'too': 1, 'python': 2, 'like': 2, 'Hello': 1, 'he': 2, 'world': 2}
The i count: 3
The Python count: 1
The I count: 1
The too count: 1
The python count: 2
The like count: 2
The Hello count: 1
The he count: 2
The world count: 2
########################
In [124]: s = "i am very very love python"

In [125]: counter = {}

In [126]: for word in s.split():
     ...:     if word not in counter.keys():
     ...:         counter[word] = 0
     ...:     counter[word] += 1
     ...: counter
     ...:  
Out[126]: {'am': 1, 'i': 1, 'love': 1, 'python': 1, 'very': 2}

#####更简洁的判断方法##########
counter[word] = counter.get(word, 0)+ 1


4、把1~4000 之间的任意整数转化为罗马数字

罗马数字是阿拉伯数字传入之前使用的一种数码。罗马数字采用七个罗马字母作数字:

Ⅰ(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。

记数的方法:

  1.    相同的数字连写,所表示的数等于这些数字相加得到的数,如 Ⅲ=3;

  2.    小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数,如 Ⅷ=8、Ⅻ=12;

  3.    小的数字(限于 Ⅰ、X 和 C)在大的数字的左边,所表示的数等于大数减小数得到的数,如 Ⅳ=4、Ⅸ=9;

  4.    在一个数的上面画一条横线,表示这个数增值 1,000 倍,如 =5000。

############################


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【Python3】04、内置数据结构

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

【Python3】04、内置数据结构

1、把字符串形式的整数或浮点数转化为int或float, 不适用int和float函数In [57]: str1 = "2468.1357"In [58]: d1 = {"0":0, "1":1, "2":2, "3":3, "4":4, 
2023-01-31

week02_python内置数据结构_

> 数值型:int、float、complex、bool都是class,1,5.0,2+3j都是对象即实例;int:python3的int就是长整型,且没有大小限制,受限于内存区域的大小;float:额整数部分和小数部分组成。支持十进制和科
2023-01-31

python内置数据结构

1、列表--是一个序列,用于顺序的存储数据列表的定义与初始化In [374]: lst = list()In [375]: lstOut[375]: []In [376]: lst = []In [377]: lst = [1,2,3]In
2023-01-31

Python内置数据结构——bytes,

bytes,bytearray字符串与bytes字符串是字符组成的有序序列,字符可以使用编码来理解bytes是字节组成的有序的不可变序列bytesarray是字节组成的有序的可变序列编码与解码字符串按照不同的字符集编码encode返回字序列
2023-01-31

Python内置数据结构3

解构In [8]: lst = [1,2]In [9]: lstOut[9]: [1, 2]In [10]: first,second = lst  #解构In [11]: print(first,second)1 2按照元素顺序,把线性结
2023-01-31

python3第六天(数据结构)

python3列表:    列表是可修改。    列表可以当作栈来使用(先进后出),利用append()和pop()方法。    列表也可以当队列来使用,利用popleft()方法。    列表推导式:对某个序列的所有元素依次进行操作,对其
2023-01-31

Python内置数据结构——列表list

内置数据结构分类:数值型int , float , complex , bool序列对象字符串 str列表 listtuple(元组)键值对集合 set字典 dict数字型int ,float , complex , bool都是class
2023-01-31

python3常用内置函数总结

#(1)作用域print(globals()) #全局作用域,显示出全局所有函数和变量名print(locals()) #本地作用域,显示出当前所处作用域的函数和变量名#(2)输入与输出a = input('请输入内容:') #i
2023-01-31

python中有哪些内置数据结构

这篇文章给大家介绍python中有哪些内置数据结构,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python的数据类型有哪些?python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(
2023-06-14

Python中有什么内置数据结构

本篇内容主要讲解“Python中有什么内置数据结构”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中有什么内置数据结构”吧!Python可谓是如今最流行的编程语言,甚至孩子们也可以从它
2023-06-16

python学习3-内置数据结构3-by

一、字符串与bytesstr是文本系列,有编码,bytes是字节系列,没有编码,文本的编码是字符如何用字节来表示。都不可变,python3默认使用utf8。文本转换编码:s.encode(['编码方式'])编码转换文本:s.decode([
2023-01-31

Python3数据结构知识点有哪些

本篇内容主要讲解“Python3数据结构知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python3数据结构知识点有哪些”吧!数字 Number整型(int) - 通常被称为是整型或
2023-06-29

python学习3-内置数据结构3-字符

字符串是集合类型1、定义s = 'hello python's = "hellp python"以上2种没有区别s = '''hello python'''s = """hello python"""以上2种没有区别区别在于三引号可以定义多
2023-01-31

python学习3-内置数据结构2-元组

元组是不可变的,可hash1、定义t = tuple()t = (1,2,3)2、查t[index] #按照下标获取值t.index(value) #按照值获取下标值,不存在报value errott.count(value) #获取某个值
2023-01-31

python学习3-内置数据结构1-列表

列表及常用操作    列表是一个序列,用于顺序的存储数据1、定义与初始化lst = list() #使用list函数定义空列表lst = []    #使用中括号定义列表lst = [1,2,3]    #使用中括号定义初始值列表lst =
2023-01-31

Python内建数据结构详解

一、列表(List)list 是一个可以在其中存储一系列项目的数据结构。list 的项目之间需用逗号分开,并用一对中括号括将所有的项目括起来,以表明这是一个 list 。下例用以展示 list 的一些基本操作:# 定义一个 list 对象
2022-06-04

4种非常实用的python内置数据结构

arrayPython不仅仅可以使用内置的list实现数组,还支持像C语言那样的指定类型的原生数组array。 很显然,因为list可以存储各种类型的对象,而array只存储一个指定的原生类型,所以当数据量较大时,原生array在内存占用方
2022-06-02

Python3中的内置函数

将一个整数转换成二进制string。eg:>>> bin(2)'0b10'返回Unicode 码点是整数i的string。ord()与chr()相反。eg:>>> chr(100)'d'>>> ord('d')100>>>将value转化为
2023-01-31

python3内置函数详解

内置函数注:查看详细猛击这里abs() 对传入参数取绝对值bool() 对传入参数取布尔值, None, 0, "",[],{},() 这些参数传入bool后,返回Falseall() 所有传入参数为真,才为真any() 任何一个传入参数为
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录