Python學習筆記——list( )、join( )


list()函數

功能:轉變為列表。

 

tup = ('a','b','c')
dic = {'a1':1,'b2':2,'c3':3}
string = "武漢加油"

list1 = list(tup)
list2 = list(dic.keys())
list3 = list(dic.items())
list4 = list(string)

print(list1)
print(list2)
print(list3)
print(list4)

輸出:
['a', 'b', 'c']
['a1', 'b2', 'c3']
[('a1', 1), ('b2', 2), ('c3', 3)]
['', '', '', '']

 

 

'sep'.join(seq)函數

sep:一個字符分隔符  seq:要連接的字符串

功能:用指定分隔符連接字符串。

 1 tup = ('a','b','c')
 2 dic = {'a1':1,'b2':2,'c3':3}
 3 string = "武漢加油"
 4 ls = ['aa','bb','cc']
 5 
 6 a = '#'.join(tup)
 7 b = '#'.join(dic)           #輸出的是鍵
 8 b1 = '#'.join(dic.values()) #報錯
 9 b2 = '#'.join(dic.items())  #報錯
10 c = '#'.join(string)
11 d = '#'.join(ls)
12 
13 print(a)
14 print(b)
15 print(c)
16 print(d)
17 print(b1)  #報錯
18 print(b2)  #報錯 
19 
20 輸出(除去報錯項):
21 a#b#c
22 a1#b2#c3
23#漢#加#油
24 aa#bb#cc

 其中行8報錯原因:TypeError: sequence item 0: expected str instance, int found  (TypeError:序列項0:預期的str實例,找到的int)

分析:dic中包含數字,join不能將其直接轉化為字符。

dic1 = {'a1':'d','b2':'e','c3':'f'}
b1 = '#'.join(dic1.values())
print(b1)

輸出:
d#e#f

行9報錯原因:sequence item 0: expected str instance, tuple found (序列項0:預期的str實例,找到元組)

分析:序列中存在元組無法用join()連接

解放方案:先利用list函數把dic.items()里的元素轉化為元組后,再使用for循環提取元組中的各個元素到另一列表。

dic1 = {'a1':'d','b2':'e','c3':'f'}
list1 = list(dic1.items())
print(list1)

list2 = []
for i in range(len(list1)):
    list2.append(list1[i][0])
    list2.append(list1[i][1])
print(list2)

b1 = '#'.join(list2)
print(b1)

輸出:
[('a1', 'd'), ('b2', 'e'), ('c3', 'f')]
['a1', 'd', 'b2', 'e', 'c3', 'f']
a1#d#b2#e#c3#f

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM