当前位置:首页 » 编程语言 » pythoninttostr

pythoninttostr

发布时间: 2023-03-03 09:29:25

python如何将一个全部为int的列表,转化为全部为str的列表

解决方法一:

a=[1,2,3,4,5]

b=[str(i)foriina]

直接用List Comprehension来把每个元素转换成str。

解决方法二:

>>> L = [1,2,3,4,5]

>>> map(str, L)

['1', '2', '3', '4', '5']

(1)pythoninttostr扩展阅读:

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。

设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的Python格言(称为The Zen of Python)里面表述为:There should be one-- and preferably only one --obvious way to do it. 这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。

Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。

因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

Ⅱ python如何将整数转化成二进制字符串

直接上代码:

#coding=gbk
defintTo2Str(X,K):
"""intTo2Str(X,K)
将整数X转化为K位2进制字符串
"""
try:
X=long(X)
except:
X=0
try:
K=int(K)
except:
K=0
ifK<1:
K=1
ifX<0:
FH=1;X=-X
else:
FH=0
A=[0forJinxrange(0,K)]
J=K-1
while(J>=0)and(X>0):
Y=X%2
X=X/2
A[J]=Y
J=J-1
ifFH==1:
#求反
forJinxrange(0,K):
ifA[J]==1:
A[J]=0
else:
A[J]=1
#末位加1
J=K-1
whileJ>=0:
A[J]=A[J]+1
ifA[J]<=1:
break;
A[J]=0
J=J-1
return"".join([chr(J+48)forJinA])

printintTo2Str(8,8)#应显示00001000
printintTo2Str(-1,8)#应显示10000000

Ⅲ python 字符与数字如何转换

一、python中字符串转换成数字

(1)import string

t='555'

ts=string.atoi(tt)

ts即为tt转换成的数字

转换为浮点数 string.atof(tt)

(2)直接int

int(tt)即可。

二、数字转换成字符串

tt=322

tem='%d' %tt

tem即为tt转换成的字符串

(3)pythoninttostr扩展阅读:

Python 是一门有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, Java.Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。

Ⅳ 关于python如何实现各进制转换的总结大全

ctf经常遇到进制转换的问题,就正好做一个进制转换总结,分享出来供大家参考学习,下面来一起看看详细的介绍:
字符串与十六进制转换

例如网络ctf 12月的第二场第一个misc
?

1

626536377D

比较简单的一种做法就是直接调用字符串的.decode('hex')解密即可, 但如果不用这个函数你会怎么解呢?
一种思路就是先2个分组,解出每组的ascii值,合并下字符串即可得到,具体代码如下
?

1234567

import res='626536377D's = re.findall(r'.{2}',s)s = map(lambda x:chr(int(x,16)),s)print ''.join(s)>>>flag{ec8b2ee0-3ae9-4c21-a012-08aa5fa7be67}

前面说了字符串的decode('hex')函数,另外还有两个转16进制的函数,这里都总结一下
内置函数hex()

只能转换10进制整数为十六进制,不能转字符串
binascii库的hexlify()和b2a_hex()

这两个函数的功能是将字符串转换成十六进制,对应的解密函数分别为 unhexlify()和a2b_hex()
进制互转

二进制,八进制,十六进制转10进制比较简单,直接调用

int函数
?

1

int(str,base) //返回十进制整数,但注意此时第一个参数为字符串

对应的解密函数分别是
?

12345

bin() //10进制转二进制 oct() //十进制转八进制 hex() //十进制转十六进制

但二进制直接转16进制就需要多走一步了,先用int转十进制,在用上面提到的hex()函数将十进制转换成十六进制,比较精简的写法是
?

1

map(lambda x:hex(int(x,2)),['0011']) //lambda表达式

或者是
?

1

[hex(int(x,2)) for x in ['0011']] //列表解析

对应的解密函数就是
?

1

map(lambda x:bin(int(x,16)),['ef'])

最后在附上自己用python写的一个进制转换小工具,主要功能是对一组二进制,或者ascii,或十六进制转换成字符串,想必ctf上也经常会遇到这类题型吧
?

041424344

# make by 江sir#coding:utf-8import reimport argparse def bintostr(text): text = text.replace(' ','') text = re.findall(r'.{8}',text) s = map(lambda x:chr(int(x,2)),text) #批量二进制转十进制 flag = ''.join(s) return flag def asciitostr(text): if ' ' in text: text = text.split(' ') elif ',' in text: text = text.split(',') s = map(lambda x:chr(int(x)),text) flag = ''.join(s) return flag def hextostr(text): text = re.findall(r'.{2}',text) #print text s = map(lambda x:chr(int(x,16)),text) #print s flag = ''.join(s) return flag if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument("-b") parser.add_argument("-a") parser.add_argument("-x") argv = parser.parse_args() #print argv if argv.b: res = bintostr(argv.b) elif argv.a: res = asciitostr(argv.a) elif argv.x: res = hextostr(argv.x) print res

用法:
十六进制转字符串:

626536377D
?

12

bintostr.py -x "626536377D"flag{ec8b2ee0-3ae9-4c21-a012-08aa5fa7be67}

二进制转字符串:

可以有空格,也可以无空格
00101111 01100110 00110110 00110111 00110011 00110010 00110100 00110001 00110000 01100001 01100001 01100100 01100011 00110000 00110011 00110111 01100110 01100010 00110000 01100011 01100010 01100001 01100001 00110000 00110000 01100011 00110111 00110101 00110011 00110001 00110011 00110111 00110011 00101110 01110100 01111000 01110100
?

12

bintostr.py -b "00101111 01100110 00110110 00110111 00110011 00110010 00110100 00110001 00110000 01100001 01100001 01100100 01100011 00110000 00110011 00110111 01100110 01100010 00110000 01100011 01100010 01100001 01100001 00110000 00110000 01100011 00110111 00110101 00110011 00110001 00110011 00110111 00110011 00101110 01110100 01111000 01110100"/.txt

ascii转字符串

可以是空格分隔,也可以是,分隔
s='45 46 45 46 32 45 32 46 46 45 46 32 46 45 46 46 32 46 46 46 32 45 46 46 46 32 46 46 45 45 46 45 32 45 46 46 46 32 46 46 46 32 46 45 46 46 32'
?

12

bintostr.py -a "45 46 45 46 32 45 32 46 46 45 46 32 46 45 46 46 32 46 46 46 32 45 46 46 46 32 46 46 45 45 46 45 32 45 46 46 46 32 46 46 46 32 46 45 46 46 32"-.-. - ..-. .-.. ... -... ..--.- -... ... .-..

以上实例均来自某些ctf赛题
总结

Ⅳ 【python报错】can only concatenate str (not "int") to str

最近刚开始学python,在学习过程中遇到了一个报错 can only concatenate str (not "int") to str

后来了解到是没有做数据类型的转换,记录在此:

我在输出字典键值的时候,将数字和字符串混在了一起,

此处,a['age']的值为23,是数字类型,而其他均为字符串,因此需要将这个数值转换为字符串类型

数字类型转换为字符串类型

str()函数:返回一个对象的string格式。

顺便附上字符串转换为数字所用函数

字符串类型转换为数字类型

int() 函数:用于将一个字符串或数字转换为整型。

Ⅵ 如何将int型的数字转换成char型字符串

1、第一步,在python语言命令窗口,输入int(12,2),结果出现了报错,提示不能将非字符串转换进制数。

热点内容
怎么用电脑开手机服务器 发布:2024-11-07 10:30:50 浏览:501
代挂网源码最新版 发布:2024-11-07 10:28:30 浏览:820
atoilinux 发布:2024-11-07 10:19:06 浏览:462
速腾哪个配置性能好 发布:2024-11-07 09:55:08 浏览:622
压缩空气的价格 发布:2024-11-07 09:51:25 浏览:541
达内培训班java 发布:2024-11-07 09:51:19 浏览:315
c语言快速排序函数 发布:2024-11-07 09:41:16 浏览:210
mobisage文件夹 发布:2024-11-07 09:29:16 浏览:877
车载安卓机怎么清理垃圾 发布:2024-11-07 09:12:51 浏览:451
外网访问vmware 发布:2024-11-07 08:51:03 浏览:953