【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

#看到同学给的思路

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:
    ...:         l2.append(i)
    ...: print(l2)
    ...: 
[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

#文本的话,现在还没学到io,不知道是不是用字符串代替;还有就是单词的顺序保证不了,不知道有什么好方法

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。
  5. d1 = {‘1‘:‘I‘, ‘5‘:‘V‘, ‘10‘:‘X‘, ‘50‘:‘L‘, ‘100‘:‘C‘, ‘500‘:‘D‘}
    #没有思路,,,,
时间: 2024-08-24 21:22:51

【Python3】04、内置数据结构的相关文章

python课程第二周 内置数据结构——列表和元组

5种内置数据结构:列表.元组.字典.集合.字符串.列表.字典.字符串三种被称为线性结构. 针对线性结构的操作有:切片.封包和解包.成员运算符.迭代. 针对数据结构的操作有解析式:解析式分为列表解析.生成器解析.集合解析和字典解析. 后面三种是Python3.x特有的. 基本框架如下: 一.列表:Python中最具灵活性的有序集合对象类型 列表可包含任何种类的对象:数字.字符串.字典.集合甚至其他列表,这个特性称为异构.还具有可变长度和任意嵌套的特性,属于可变长度序列. (1)列表的初始化,有两种

Python内置数据结构——列表list,元组tuple

内置数据结构分类: 数值型 int , float , complex , bool 序列对象 字符串 str 列表 list tuple(元组) 键值对 集合 set 字典 dict 数字型 int ,float , complex , bool都是class, 1,5.0 , 2+3j都是对象的实例 int : python3的int就是长整型,没有大小限制,受限于内存大小 float:有整数部分和小数部分组成,支持十进制和科学计数法表示,只有双精度型 complex:有实数和虚部组成,实部

ORACLE AUTOMATIC STORAGE MANAGEMENT翻译-第十章ASM内置数据结构(1)

CHAPTER 10 ASM Persistent Data Structures 与传统文件系统和卷管理器一样,ASM存储元数据用来描述和跟踪磁盘组的内容.所有的元数据描述存储在上面的ASM磁盘组的组成和内容,这些元数据使得磁盘组实现了自描述.ASM磁盘组有两类元数据:物理元数据和虚拟元数据.物理元数据位于磁盘上.虚拟元数据存储在ASM文件中,因此与其他ASM文件一样这些元数据均匀分布在磁盘组的磁盘上.RDBMS无法打开ASM读取元数据目录也不能对ASM物理元数据的位置执行读写(I/O)操作.

ORACLE AUTOMATIC STORAGE MANAGEMENT翻译-第十章ASM内置数据结构(2)

Free SpaceTable(FST) FST指明了ATB中包含的空闲空间.当磁盘被选择分配时ASM会生成一个磁盘FST.这个允许ASM跳过被ATBs占用的空间.FST包含每个ATB的条目.每个条目描述了extents size的总数和空闲extents.FST的目的是优化分配操作.事实上FST位于AllocationTable中.FST位于每个AT的第二个block(block 1). PartnershipStatus Table(PST) PST跟踪磁盘组资格和磁盘间的配合关系.ASM生

ORACLE AUTOMATIC STORAGE MANAGEMENT翻译-第十章ASM内置数据结构(3)完

Disk Directory Disk Directory包含了磁盘组中所有的磁盘信息.Disk Directory信息比PST更为详细.磁盘组中的每一块盘都有一个条目以数字为索引.Disk Directory的文件号在每个磁盘组中都是2号(F2). Disk Directory中的字段如下: n  Disk name n  Failure group name n  Disk size n  Disk free space n  Disk creation time Disk Director

【Redis源代码剖析】 - Redis内置数据结构之压缩字典zipmap

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51111230 今天为大家带来Redis中zipmap数据结构的分析,该结构定义在zipmap.h和zipmap.c文件里.我把zipmap称作"压缩字典"(不知道这样称呼正不对)是因为zipmap利用字符串实现了一个简单的hash_table结构,又通过固定的字节表示节省空间. zipmap和前面介绍的ziplist结构十分相似,我们能够对照地进行学习: Redis中

【Redis源码剖析】 - Redis内置数据结构值压缩字典zipmap

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51111230 今天为大家带来Redis中zipmap数据结构的分析,该结构定义在zipmap.h和zipmap.c文件中.我把zipmap称作"压缩字典"(不知道这样称呼正不正确)是因为zipmap利用字符串实现了一个简单的hash_table结构,又通过固定的字节表示节省空间.zipmap和前面介绍的ziplist结构十分类似,我们可以对比地进行学习: Redis中

Python内置数据结构

内置数据结构 可变 list 列表 byterray dict 字典 set 集合 不可变 tuple 元组 bytes 常量(int,str,bool 等) list 列表 (推荐使用索引)列表相当于一个排列整齐的队列,可以理解为在内存中是一片排列整齐的连续的空间,它是可索引,可变的,有序的,线性结构,可迭代.优点:通过索引(index)查找.替换元素 效率高 时间复杂度O(1).尾部追加(append)与 尾部移除(pop)元素快 效率高 时间复杂度O(1).缺点:从中间增加或移除元素会使列

Python内置数据结构操作VS sqlite3操作

1.摘要 在同一数据库中查询某值,内置数据结构的查询速度快还是数据库sqlite3的查询速度快?针对这一问题,通过构建一个包含2500个随机数的列表,并将其插入sqlite3数据库中,利用timeit模块,分别对内置数据结构list和sqlite3查询某一值在不在数据组中进行对比. 2.代码 >>> import numpy as np >>> import sqlite3 >>> test=np.random.randn(2500) >>