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