Python基礎知識整理——數據對象之間的轉換

1.簡單的強制轉換

函數格式 使用示例 描述
int(x [,base]) int("8")   能夠轉換的包括String類型和其餘數字類型,可是會丟失精度      
float(x)  float(1)或者float("1")  能夠轉換String和其餘數字類型,不足的位數用0補齊,例如1會變成1.0
 complex(real ,imag)  complex("1")或者complex(1,2)  第一個參數能夠是String或者數字,第二個參數只能爲數字類型,第二個參數沒有時默認爲0
 str(x)  str(1)  將數字轉化爲String
 repr(x)  repr(Object)  返回一個對象的String格式
 eval(str)  eval("12+23")  執行一個字符串表達式,返回計算的結果,如例子中返回35
 tuple(seq)  tuple((1,2,3,4))  參數能夠是元組、列表或者字典,wie字典時,返回字典的key組成的集合
 list(s)  list((1,2,3,4))  將序列轉變成一個列表,參數可爲元組、字典、列表,爲字典時,返回字典的key組成的集合
 set(s)  set(['b', 'r', 'u', 'o', 'n'])或者set("asdfg")  將一個能夠迭代對象轉變爲可變集合,而且去重複,返回結果能夠用來計算差集x - y、並集x | y、交集x & y
 frozenset(s)  frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])  將一個可迭代對象轉變成不可變集合,參數爲元組、字典、列表等,
 chr(x)  chr(0x30)  chr()用一個範圍在 range(256)內的(就是0~255)整數做參數,返回一個對應的字符。返回值是當前整數對應的ascii字符。
 ord(x)  ord('a')  返回對應的 ASCII 數值,或者 Unicode 數值
 hex(x)  hex(12)  把一個整數轉換爲十六進制字符串
 oct(x)  oct(12)

 把一個整數轉換爲八進制字符串python

2.其餘轉換方法

字符串轉爲列表

>>> str='python'
>>> str1='python'
>>> list1=list(str1)
>>> list1
['p', 'y', 't', 'h', 'o', 'n']
>>> list2=str1.split()
>>> list2
['python']
>>> str2=
  File "<stdin>", line 1
    str2=
        ^
SyntaxError: invalid syntax
>>> str3 = "www.google.com" 
>>> list=str3.split('.')
>>> list
['www', 'google', 'com']
>>>

列表轉換爲字符串

>>> list1=['a','b','c','d']
>>> str1=''.join(list1)
>>> str1
'abcd'
>>> str2='.'.join(list1)
>>> str2
'a.b.c.d'
>>> str2='. '.join(list1)
>>> str2
'a. b. c. d'

列表轉換成字典

1.如今有兩個列表,list1 = ['key1','key2','key3']和list2 = ['1','2','3'],把他們轉爲這樣的字典:{'key1':'1','key2':'2','key3':'3'}
>>>list1 = ['key1','key2','key3']
>>>list2 = ['1','2','3']
>>>dict(zip(list1,list2))
{'key1':'1','key2':'2','key3':'3'}
二、將嵌套列表轉爲字典,有兩種方法,
>>>new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
>>>dict(list)
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
或者這樣:
>>>new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
>>>new_dict = {}
>>> for i in new_list:
...   new_dict[i[0]] = i[1]                #字典賦值,左邊爲key,右邊爲value
...
>>> new_dict
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}

>>> new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
>>> for i in new_list:
...     new_dict={}
...     new_dict[i[0]]=i[1]
... 
>>> new_dict
{'key3': 'value3'}

字典轉換成列表

①轉換後的列表爲無序列表
a = {'a' : 1, 'b': 2, 'c' : 3}
 
#字典中的key轉換爲列表
key_value = list(a.keys())
print('字典中的key轉換爲列表:', key_value)
 
#字典中的value轉換爲列表
value_list = list(a.values())
print('字典中的value轉換爲列表:', value_list)
運行結果:

②轉換後的列表爲有序列表
import collections
z = collections.OrderedDict()
z['b'] = 2
z['a'] = 1
z['c'] = 3
z['r'] = 5
z['j'] = 4
 
#字典中的key轉換爲列表
key_value = list(z.keys())
print('字典中的key轉換爲列表:', key_value)
 
#字典中的value轉換爲列表
value_list = list(z.values())
print('字典中的value轉換爲列表:', value_list)

字典與字符串之間的轉換json

#字典轉換成字符串
json.dumps(dict1)
>>> import json
>>> str2=json.dumps(dict1)
>>> str2
'{"key2": "value3", "key1": "value1", "key": "value"}'
>>> 
str(dict1)
>>> str3=str(dict1)
>>> str3
"{'key2': 'value3', 'key1': 'value1', 'key': 'value'}"
>>> 

#字符串轉換成字典
相關文章
相關標籤/搜索