亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

map.join 函數錯誤:返回字母列表

map.join 函數錯誤:返回字母列表

手掌心 2022-05-24 09:36:46
我有兩個列表列表,但是,當實現映射/連接函數時,它們返回了不同的結果。第一個是我想要的結果。list1 = ['I woke up at 6am today.',     'I live in vancouver.',     'I go to gym by 6pm.',]list2 =`[['7am run ??\u200d♂? done ? @kristianevofit @ottowallin @trboxing @btsport @ringtv @frank_warren_official @mtkglobal @marbella.co.uk'],['我已經屈服于#bottlecapchallenge ????? 你怎么看?#bluesteel #scrubs']]`功能:[''.join(x) for x in list1][''.join(x) for x in list2]list1 的結果:['I woke up at 6am today.', 'I live in vancouver.', 'I go to gym by 6pm.',]結果list2:['[', '[', "'", '7', 'a', 'm', ' ', 'r', 'u',]']期望的結果是在 on 上產生與 on 相同的list2結果list1。
查看完整描述

2 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

你list2是一個列表列表,string而你list1是一個字符串列表。因此,您需要展平您list2的以獲得list1如下結果。


import ast


# Convert to list

list2 = ast.literal_eval(list2)


# Flatten nested list/list of list into list

flat_list2 = [y for x in list2 for y in x]


# Then you can use this

result = [''.join(x) for x in List2]

或者,您可以將它們組合起來:


import ast


list2 = ast.literal_eval(list2)

result [''.join(y) for x in list2 for y in x]

當然,您需要確保您的嵌套列表字符串必須遵循正確的 Python 語法。下面是運行的代碼IPython


In [1]: list2 = """[[\'7am run ??\\u200d♂? done ? @kristianevofit @ottowallin @trboxing @btsport @ringtv @frank_warren_official @mtkglobal @marbella.co.uk\'],   

   ...: [\'I have succummed to the #bottlecapchallenge ????? What do you think? #bluesteel #scrubs\']]"""                                                                                                          


In [2]: import ast                                                                                                                                                                                                 


In [3]: list2 = ast.literal_eval(list2)                                                                                                                                                                            


In [4]: result = [''.join(y) for x in list2 for y in x]                                                                                                                                                            


In [5]: result                                                                                                                                                                                                     

Out[5]: 

['7am run ??\u200d♂? done ? @kristianevofit @ottowallin @trboxing @btsport @ringtv @frank_warren_official @mtkglobal @marbella.co.uk',

 'I have succummed to the #bottlecapchallenge ????? What do you think? #bluesteel #scrubs']



查看完整回答
反對 回復 2022-05-24
?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

您可以使用ast.literal_eval這對您很有用:


import ast 

list2 = ast.literal_eval(list2)

result2 = [''.join(x) for x in List2]


查看完整回答
反對 回復 2022-05-24
  • 2 回答
  • 0 關注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號