Python題 合併兩個字串陣列的值A和B到C

2021-09-29 06:56:13 字數 828 閱讀 2053

如題:

a = [

'a,1',

'bb,3,22',

'c,3,4',

'b,5'

]b = [

'a,2',

'bb,1',

'd,2',

'a,3'

]

現要求合併a和b到c,輸出c為:

['a,1,2,3', 'bb,3,22,1', 'c,3,4', 'b,5', 'd,2']
即a中'a', 'bb', 'c', 'b'等作為參考,同b一樣合併為乙個陣列。

當a和b包含的元素很多時,要注意效率。能否以o(n)的時間複雜度來實現呢?可以想一想再看答案。

。。。不排版了,一把嗦。

from collections import defaultdict

list_c =

dic = defaultdict(str)

for i in list_a, list_b:

for val in i:

first_index = val.index(',')

key = val[:first_index]

value = val[first_index + 1:]

if dic[key] == '':

dic[key] = value

continue

dic[key] = dic[key] + ',' + value

for k, v in dic.items():

return list_c

連線兩個字串

include include void main char lianjie char a 30 char b 30 原型 extern char strcat char dest,char src 用法 include 功能 把src所指字串新增到dest結尾處 覆蓋dest結尾處的 0 並新增 ...

交換兩個字串

交換兩個字串,原來的字串分別為 學生 和 好 字串輸出顯示為 學生好 交換後輸出顯示為 好學生 include using namespace std int main char c1 5 學生 char c2 3 好 char m,n,t m c1 n c2 cout 交換前 m n n t co...

兩個字串相乘

先附上一張演算法圖 解釋 123 456 首先拿出1和456相乘,儲存到陣列1 2 3 的位置,然後拿出2和456相乘2 3 4的位置,依次類推,直到第乙個字串遍歷完 然後將他們相加,依次存到陣列中 實現如下 int j 0 int resindex 0 for int i 0 i然後再考慮進製,需...