前提:
list以及array是python中經(jīng)常會用到的數(shù)據(jù)類型,當(dāng)需要對list以及array進(jìn)行文件的讀寫操作的時候,由于write函數(shù)參數(shù)需要的是一個str,所以這時就需要對list或者array進(jìn)行str的轉(zhuǎn)換了。
list和array的不同:
在進(jìn)行轉(zhuǎn)換之間先研究下python中l(wèi)ist和array(np.array)的不同:
1、list是python中內(nèi)置的數(shù)據(jù)類型,其中的數(shù)據(jù)的類型可以不相同,如java中List也可以不用相同的數(shù)據(jù),但是為了格式的統(tǒng)一,就要用到泛型或者ArrayList。array中的數(shù)據(jù)類型必須是一樣的。
2、list中保存的數(shù)據(jù)的存放地址,而不是數(shù)據(jù),會增加內(nèi)存的占用,所以存放數(shù)據(jù)還是盡量使用array。
3、list中有append的方法,可以進(jìn)行追加,而array沒有追加的方法,只能通過np.append來實現(xiàn)追加。
4、在print的時候,打印的結(jié)果不同。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轉(zhuǎn)換為str
當(dāng)list中存放的數(shù)據(jù)是字符串時,一般是通過str中的join函數(shù)進(jìn)行轉(zhuǎn)換:
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
但是當(dāng)list中存放的數(shù)據(jù)是整型數(shù)據(jù)或者數(shù)字的話,需要先將數(shù)據(jù)轉(zhuǎn)換為字符串再進(jìn)行轉(zhuǎn)換:
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轉(zhuǎn)換為str
將array轉(zhuǎn)換為str和list轉(zhuǎn)換時是一樣的,join()函數(shù)中的參數(shù)是一個iterator,所以array或者list都可以。
list = ['a', 'b', 'c', 'd']
arr = np.array(list)
str = ''.join(arr)
print(str)
abcd
3、str轉(zhuǎn)換為list
在將str轉(zhuǎn)化為list時,主要就是通過str的split()函數(shù),split()參數(shù)為空時,默認(rèn)以空格來做分割。
直接通過list轉(zhuǎn)換時是以每一個字符為分割的。
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']
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

