python字元串轉換為list
① python List與String 轉化問題
python List與String 轉化運行出錯,是代碼錯誤造成的,解決方法如下:
1、先在eclipse中創建一個Java工程文件,並在src下創建類Demo。
② python 字元串 賦值給list
stra='上面那一大串自己復制'
import re
strb=re.sub(r'(\w+):',"'\g<1>':",stra)
ccc=eval(strb)
③ python怎麼將字元串轉換為列表
# 把字元串變成列表
q = 'abcd'
L = list(q)
print(L)
程序縮進如圖所示
④ (python)如何將字元串轉換成list
>>> str='2257,4018,1096'
>>> target_list = [int(x) for x in str.split(',')]
>>> print target_list
[2257, 4018, 1096]
>>>
或者
>>> str='2257,4018,1096'
>>> exec("target_list=[%s]"%str)
>>> print target_list
[2257, 4018, 1096]
>>>
⑤ python3 16進制字元串、列表、字元串之間的轉換
在Python操作數據內容時,多數情況下可能遇到下面3種類型的數據處理:
hexstring 如:ƇC532145697A8B6F'
str 如:'x1Cx53x21x45x69x7Ax8Bx6F'
list 如:[0x1C, 0x53, 0x21, 0x45, 0x69, 0x7A, 0x8B, 0x6F]
各種第三方模塊(如pyDes),或者自己寫的介面中,可能存在由於類型不統一需要在這3種數據中來回切換的情況。
需要用到的核心的方法如下:
list() 將對象轉換為list
str() 將對象轉換為str
bytearray() 將對象轉換為bytearray
bytearray.fromhex() 將對象從hexstring轉換為bytearray
binascii.b2a_hex() 將對象從str轉換為hexstring
如:[0x53, 0x21, 0x6A] -> 'x53x21x6a'
方法:list -> bytearray -> str
如:'x53x216a' -> [0x53, 0x21, 0x6A]
方法:逐個字元轉成十進制
如: [0x53, 0x21, 0x6A] -> A'
方法:list -> bytearray -> str -> hexstring
如: A' -> [0x53, 0x21, 0x6A]
方法:hexstring -> bytearray -> list
如: A' -> 'x53x21x6A'
方法:hexstring -> bytearray -> str
以上內容轉自: https://blog.csdn.net/diaoxuesong/article/details/72123415#
⑥ python 字元串 賦值給list
importast
x="[['sh600275','武昌魚','4.68','10.12','1','0.05','0','11.84'],['sz002105','信隆實業','11.06','10.05','1','18.01','0','7.12'],['sz300402','寶色股份','13.81','10.04','1','1','0','4.37'],['sh603169','蘭石重裝','5.70','10.04','1','0.58','0','3.45'],['sz002528','英飛拓','15.03','10.03','1','0.2','146.19','3.26']]"
x=ast.literal_eval(x)
printx
⑦ Python3 字元串str和列表list轉換
>>> str1 = "abcdefg"
>>> list1 = list(str1)
>>> print(list1)
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> str4 = "username=admin&passsword=123456"
>>> list4 = str4.split("&")
>>> print(type(list4))
<class 'list'>
>>> print(list4)
['username=admin', 'passsword=123456']
如果我們要對多個字元進行分割,那麼可以使用內置模塊 re.split() 方法。
>>> str5 = "username=admin&passsword=123456"
>>> import re
>>> list5 = re.split("&|=", str5)
>>> print(type(list5))
<class 'list'>
>>> print(list5)
['username', 'admin', 'passsword', '123456']
>>> import json
>>> str3 = '["aaa", "bbb", "ccc", "ddd"]'
>>> list3 = json.loads(str3)
>>> print(type(list3))
<class 'list'>
>>> print(list3)
['aaa', 'bbb', 'ccc', 'ddd']
>>> str2 = "['aaa', 'bbb', 'ccc', 'ddd']"
>>> list2 = eval(str2)
>>> print(type(list2))
<class 'list'>
>>> print(list2)
['aaa', 'bbb', 'ccc', 'ddd']
針對str2,json.loads()方法為何失靈了?
因為 json.loads() 將json格式字元串轉換為python對象,而按 json 的標准規范應該使用雙引號,如果使用單引號會導致報錯。
# 注意,轉換之後,雙引號會變為單引號
>>> list1 = ["aaa", 123, 'ccc', True]
>>> str1 = str(list1)
>>> print(type(str1))
<class 'str'>
>>> print(str1)
['aaa', 123, 'ccc', True]
>>> list3 = ['username=admin', 'passsword=123456']
>>> str3 = "&".join(list3)
>>> print(type(str3))
<class 'str'>
>>> print(str3)
username=admin&passsword=123456
# 這里列表中使用了單引號
>>> list4 = ['username=admin', 'passsword=123456']
>>> import json
>>> str4 = json.mps(list4)
>>> print(type(str4))
<class 'str'>
>>> print(str4)
["username=admin", "passsword=123456"]
Python3下字典、字元串及列表的相互轉換