Python編程技術:Python數據類型轉換
Python數據類型轉換
有時候,我們需要對數據內置的類型進行轉換,數據類型的轉換,你只需要將數據類型作爲函數名即可。
以下幾個內置的函數可以執行數據類型之間的轉換。這些函數返回一個新的對象,表示轉換的值。
函數 | 說明 |
---|---|
int(x [,base ]) | 將x轉換爲一個整數(x爲字符串或數字,base進制數,默認十進制 浮點轉爲整數) |
float(x) | 將x轉換到一個浮點數 |
complex(real [,imag]) | 創建一個複數 |
str(x) | 將對象 x 轉換爲字符串 |
repr(x) | 將對象 x 轉換爲表達式字符串 |
tuple(s) | 將序列 s 轉換爲一個元組 |
list(s) | 將序列 s 轉換爲一個列表 |
set(s) | 轉換爲可變集合 |
dict(d) | 創建一個字典。d 必須是一個 (key, value)元組序列。 |
frozenset(s) | 轉換爲不可變集合 |
chr(x) | 將一個整數轉換爲一個字符 |
ord(x) | 將一個字符轉換爲它的整數值 |
hex(x) | 將一個整數轉換爲一個十六進制字符串 |
oct(x) | 將一個整數轉換爲一個八進制字符串 |
整型的4種表現形式
2進制:以’0b’開頭。例如:'0b11011’表示10進制的27
8進制:以’0o’開頭。例如:'0o33’表示10進制的27
10進制:正常顯示
16進制:以’0x’開頭。例如:'0x1b’表示10進制的27
4種進制的轉換:通過python中的內置函數(bin、oct、int、hex)來實現轉換
列表、元組、集合、字典相互轉換
1、列表元組轉其它
列表轉集合(去重)
list1 = [6, 7, 7, 8, 8, 9]
print(set(list1))
Python3結果:{6, 7, 8, 9}
兩個列表轉字典
list1 = ['key1','key2','key3']
list2 = ['1','2','3']
print(dict(zip(list1,list2)))
Python3結果:{'key1': '1', 'key2': '2', 'key3': '3'}
嵌套列表轉字典
list3 = [['key1','value1'],['key2','value2'],['key3','value3']]
print(dict(list3))
Python3結果:{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
列表、元組轉字符串
list2 = ['a', 'a', 'b']
print(''.join(list2))
Python3結果:aab
tup1 = ('a', 'a', 'b')
print(''.join(tup1))
Python3結果:aab
2、字典轉其他
字典轉換爲字符串
dic1 = {'a':1,'b':2}
print(str(dic1))
Python3結果:{'a': 1, 'b': 2}
字典key和value互轉
dic2 = {'a': 1, 'b': 2, 'c': 3}
print({value:key for key, value in dic2.items()})
Python3結果:{1: 'a', 2: 'b', 3: 'c'}
3、字符串轉其它
字符串轉列表
s = 'aabbcc'
print(list(s))
Python3結果:['a', 'a', 'b', 'b', 'c', 'c']
字符串轉元組
print(tuple(s))
Python3結果: ('a', 'a', 'b', 'b', 'c', 'c')
字符串轉集合
print(set(s))
Python3結果:{'a', 'b', 'c'}
字符串轉字典
s = "{'name':'Tom', 'age':18}"
dic2 = eval(s)
print(dic2)
Python3結果:{'name': 'Tom', 'age': 18}
a = '{"name":"Rose","age":19}'
print(eval(a))
Python3結果:{'name': 'Rose', 'age': 19}