詳細(xì)整理python 字符串(str)與列表(list)以及數(shù)組(array)之間的轉(zhuǎn)換方法
前提:
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來實(shí)現(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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python 實(shí)現(xiàn)上傳圖片并預(yù)覽的3種方法(推薦)
下面小編就為大家?guī)硪黄猵ython 實(shí)現(xiàn)上傳圖片并預(yù)覽的3種方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07Python+seaborn實(shí)現(xiàn)聯(lián)合分布圖的繪制
聯(lián)合分布(Joint Distribution)圖是一種查看兩個或兩個以上變量之間兩兩相互關(guān)系的可視化圖,在數(shù)據(jù)分析操作中經(jīng)常需要用到。本文將通過seaborn實(shí)現(xiàn)繪制聯(lián)合分布圖,需要的可以參考一下2023-02-02Django 實(shí)現(xiàn)xadmin后臺菜單改為中文
今天小編就為大家分享一篇Django 實(shí)現(xiàn)xadmin后臺菜單改為中文,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11從入門到精通:Python項(xiàng)目打包與setup.py實(shí)戰(zhàn)指南
想要將你的Python項(xiàng)目分享給世界嗎?本指南將帶你從零開始,一步步學(xué)習(xí)如何打包你的Python項(xiàng)目,并創(chuàng)建一個專業(yè)的setup.py文件,我們將分享實(shí)用的技巧和最佳實(shí)踐,幫助你的項(xiàng)目在Python社區(qū)中脫穎而出,跟著我們的步伐,讓你的項(xiàng)目打包變得輕松有趣!2024-03-03Python爬取英雄聯(lián)盟MSI直播間彈幕并生成詞云圖
很開心RNG最近在英雄聯(lián)盟季中賽奪冠了,特地爬取了直播間彈幕并生成詞云圖,大家一起開心一下,看看奪冠時大家都在說什么,需要的朋友可以參考下2021-06-06