前提:
list以及array是python中經常會用到的數據類型,當需要對list以及array進行文件的讀寫操作的時候,由于write函數參數需要的是一個str,所以這時就需要對list或者array進行str的轉換了。
list和array的不同:
在進行轉換之間先研究下python中list和array(np.array)的不同:
1、list是python中內置的數據類型,其中的數據的類型可以不相同,如java中List也可以不用相同的數據,但是為了格式的統一,就要用到泛型或者ArrayList。array中的數據類型必須是一樣的。
2、list中保存的數據的存放地址,而不是數據,會增加內存的占用,所以存放數據還是盡量使用array。
3、list中有append的方法,可以進行追加,而array沒有追加的方法,只能通過np.append來實現追加。
4、在print的時候,打印的結果不同。list元素之間有","分割,而array之間是空格。
list = [1,2,3,4] arr = np.array(list) print(list) print(arr)
[1, 2, 3, 4]
?[1 2 3 4]
1、list轉換為str
當list中存放的數據是字符串時,一般是通過str中的join函數進行轉換:
list = ['a','b','c','d'] str1 = ''.join(list) str2 = ' '.join(list) str3 = '.'.join(list) print(str1) print(str2) print(str3)
abcd
a b c d
a.b.c.d
但是當list中存放的數據是整型數據或者數字的話,需要先將數據轉換為字符串再進行轉換:
list = [1, 2, 3, 4] str1 = ''.join([str(x) for x in list]) str2 = ' '.join([str(x) for x in list]) str3 = '.'.join([str(x) for x in list]) print(str1) print(str2) print(str3)
1234
1 2 3 4
1.2.3.4
2、array轉換為str
將array轉換為str和list轉換時是一樣的,join()函數中的參數是一個iterator,所以array或者list都可以。
list = ['a', 'b', 'c', 'd'] arr = np.array(list) str = ''.join(arr) print(str)
abcd
3、str轉換為list
在將str轉化為list時,主要就是通過str的split()函數,split()參數為空時,默認以空格來做分割。
直接通過list轉換時是以每一個字符為分割的。
str1 = 'abcde' str2 = 'a b c d e' str3 = 'a, b, c, d, e' result1 = list(str1) result2 = str2.split() result3 = str3.split(', ') print(result1) print(result2) print(result3)
['a', 'b', 'c', 'd', 'e']
['a', 'b', 'c', 'd', 'e']
['a', 'b', 'c', 'd', 'e']
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
