python文字列(str)とリスト(list)および配列(array)間の変換方法の詳細整理


前提:
Listおよびarrayはpythonでよく使われるデータ型であり、listおよびarrayに対してファイルの読み書き操作が必要な場合、write関数パラメータはstrを必要とするため、listまたはarrayに対してstrの変換が必要となる.
Listとarrayの違い:
変換の間でpythonにおけるlistとarray(np.array)の違いを検討します.
1、listはpythonに内蔵されているデータ型であり、javaのリストのように同じデータを使わなくてもよいが、フォーマットの統一のために汎用または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に変換する
リストに格納されているデータが文字列の場合、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()パラメータが空の場合、デフォルトではスペースで分割されます.
リストで直接変換する場合は、各文字を分割します.
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']