當前位置:首頁 » 編程語言 » 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),結果出現了報錯,提示不能將非字元串轉換進制數。

熱點內容
javaj2ee 發布:2024-11-07 12:26:17 瀏覽:787
hmcl伺服器地址怎麼寫 發布:2024-11-07 12:26:10 瀏覽:542
北京一區伺服器ip地址 發布:2024-11-07 12:12:54 瀏覽:316
dll加密反編譯 發布:2024-11-07 12:10:40 瀏覽:92
lol如何設置伺服器忙 發布:2024-11-07 12:04:04 瀏覽:547
發票價演算法 發布:2024-11-07 11:59:02 瀏覽:603
使命召喚如何退款安卓微信 發布:2024-11-07 11:32:38 瀏覽:822
優酷上傳音樂 發布:2024-11-07 11:28:14 瀏覽:733
安卓原生系統開發者模式在哪裡 發布:2024-11-07 11:22:47 瀏覽:409
pythongdal安裝 發布:2024-11-07 11:07:29 瀏覽:289