python类型强转&二级容器

Number 类型强转

int :          ---->>>          float,  bool,  complex,  str

Float :        ---->>>              int(舍弃小数位),  bool,  complex, str

Complex :  ---->>>                str,  bool

Bool :          ---->>>               str,  int, float

容器类型强转:

Str :       <<<----              Number,  list,  set,  dict,  tuple

List:       <<<----                str, set, dict, tuple

Tuple     <<<----                  str, list, dict, set

Set         <<<----              str, list, tuple, dict (相同的值, 自动去重)

Dict: 二级列表, 二级元祖, 二级集合(无序, 不推荐),  二级元素若是字符串那么就只能有两个字符

关于二级容器的问题:

二级容器:  自己本身是一个容器,里面的元素还是一个容器类型数据

等长二级容器:  里面都是容器类型数据,每个容器里面元素个数都一样

强转字典必须是等长的二级容器,并且里面元素的个数是2个

原文地址:https://www.cnblogs.com/caihuajiaoshou/p/10542879.html

时间: 2024-11-02 23:41:40

python类型强转&二级容器的相关文章

C Python类型互换

从Python到C的转换用PyArg_Parse*系列函数,int PyArg_ParseTuple():把Python传过来的参数转为C:int PyArg_ParseTupleAndKeywords()与PyArg_ParseTuple()作用相同,但是同时解析关键字参数:它们的用法跟C的sscanf函数很像,都接受一个字符串流,并根据一个指定的格式字符串进行解析,把结果放入到相应的指针所指的变量中去,它们的返回值为1表示解析成功,返回值为0表示失败. 从C到Python的转换函数是PyOb

c++第十四章-(类型强转换)

类型强转换有2种. class Company { public: Company(std::string theName,std::string theProduct); virtual void printInfo(); protected: std::string name; std::string product; }; Company::Company(std::string theName,std::string theProduct) { this->name = theName;

类型强转和字节对齐

当一个较少字节对齐类型的指针强转为一个较多字节对齐的指针类型时,这样有些时候会产生问题. 在arm的平台上,这个问题比较明显,在x86平台上运行后没这个问题 typdef struct { int addr; int rdda; }Test_t; int main() { short int a; short int s[2]; short int *pt = &s; Test_t tt; Test_t *pt = NULL; tt.addr= 0x11223344; memcpy(s,&

从头认识java-13.11 对比数组与泛型容器,观察类型擦除给泛型容器带来什么问题?

这一章节我们继续类型擦除的话题,我们将通过对比数组与泛型容器,观察类型擦除给泛型容器带来什么问题? 1.数组 package com.ray.ch13; public class Test { public static void main(String[] args) { Fruit[] fruits = new Apple[5]; fruits[0] = new Apple(); fruits[1] = new Fuji(); fruits[2] = new Fruit(); } } cla

类型强转和地址强转

1 例子 最近在干一个很复杂的事-读4w多行的项目源码,头都大了有木有!其中有一步是加载一个二进制文件,为了更好的理解代码的含义,我需要一点一点解析二进制文件.在解析到某个位置的时候,有个读浮点数的操作,对应的二进制值为:-CAF249F1-.非常好奇这个值对应的浮点数是多少,所以写代码去求解一下.这里我没有犯一个错误:原始的文件中是按照从低字节到高字节排序的,所以实际的数应该为:0xF149F2CA.但是还是犯了很多错误,最初的代码为: void test1() { unsigned int

从头认识java-13.11 对照数组与泛型容器,观察类型擦除给泛型容器带来什么问题?

这一章节我们继续类型擦除的话题,我们将通过对照数组与泛型容器,观察类型擦除给泛型容器带来什么问题? 1.数组 package com.ray.ch13; public class Test { public static void main(String[] args) { Fruit[] fruits = new Apple[5]; fruits[0] = new Apple(); fruits[1] = new Fuji(); fruits[2] = new Fruit(); } } cla

cocos2dx lua 类型强转

lua 里,类型强转 local widget = Widget:create() local node = widget:getWidgetWithName("lab"); --node 类型是:Widget local button = tolua.cast(node, "Button") -- Widget 类型转为:Button

scala如何解决类型强转问题

scala属于强类型语言,在指定变量类型时必须确定数据类型,即便scala拥有引以为傲的隐式推到,这某些场合也有些有心无力. 例如:java同属强类型语言,但java可以进行类型强转.因此在进行面向接口编程时,借助类型强转,只要编码没有问题,就可以使用准备使用的class类.但在scala中,这条路就走不通了.因为scala没有类型强壮. 那如何办呢? 众所周知,scala编译后变成字节码文件,运行在jvm中.那么从骨子里,scala可以说是脱胎于java,同样scala可以调用java所有的类

[python]类型与对象

1. 术语 程序中所存储的所有数据都是对象.每个对象都有一个身份.一个类型和一个值.对象的身份可以看作是指向它在内存中所处位置的指针,变量名就是引用这个具体位置的名称.对象的类型也称作类别,用于描述对象的内部表示及它支持的方法与操作.创建特定类型的对象时,有时也将该对象称为该类型的实例.实例被创建之后,它的身份和类型就不可改变.如果对象的值是可以修改的,称为可变对象,反之称为不变对象.如果某个对象包含对其他对象的引用,则将其称为容器或集合.大多数对象拥有大量特有的数据属性和方法.属性就是与对象相