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

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

循環列表以使用不同的前綴輸出每個元素兩次

循環列表以使用不同的前綴輸出每個元素兩次

www說 2023-03-22 11:01:43
一個簡單的列表,我想循環打印每個元素兩次。每次添加不同的前綴。輸出將附加到新列表中。List1 = ["9016","6416","9613"]理想的結果是:['AB9016', 'CD9016', 'AB6416', 'CD6416', AB9613', 'CD9613']我在下面嘗試過,但輸出是:new_list = []for x in List1:     for _ in [0,1]:         new_list.append("AB" + x)         new_list.append("CD" + x)打?。ㄐ铝斜恚'AB9016', 'CD9016', 'AB9016', 'CD9016', 'AB6416', 'CD6416', 'AB6416', 'CD6416', 'AB9613', 'CD9613', 'AB9613', 'CD9613']我不能使用:new_list.append("AB" + x).append("CD" + x)正確的做法是什么?謝謝。
查看完整描述

6 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊


問題出在內循環:這兩個appends會被調用兩次。固定代碼:


new_list = []


for x in List1:

    new_list.append("AB" + x)

    new_list.append("CD" + x)

關于鏈接調用:如果返回列表(附加了新項目)append它會起作用,但情況并非如此,該方法返回(doc)。appendappendNone


查看完整回答
反對 回復 2023-03-22
?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

也可以嘗試一個簡單的理解:


List1 = ["9016","6416","9613"]

result = [j+i for i in List1 for j in ('AB','CD')]

# ['AB9016', 'CD9016', 'AB6416', 'CD6416', 'AB9613', 'CD9613']


查看完整回答
反對 回復 2023-03-22
?
守著星空守著你

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

最快的方法是使用列表理解。我們正在使用 2 列表理解來創建desired_list. 請注意,我還使用了 ,f string因此我可以輕松添加“AB andCD”前綴。


list1 = ["9016","6416","9613"]

desired_list = [f'AB{x}' for x in list1] + [f'CD{x}' for x in list1]

print(desired_list)


查看完整回答
反對 回復 2023-03-22
?
莫回無

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

我會按照以下方式使用itertools.product完成該任務


import itertools

list1 = ["9016","6416","9613"]

prefixes = ["AB","CD"]

result = [x+y for y,x in itertools.product(list1,prefixes)]

print(result)

輸出:


['AB9016', 'CD9016', 'AB6416', 'CD6416', 'AB9613', 'CD9613']


查看完整回答
反對 回復 2023-03-22
?
慕少森

TA貢獻2019條經驗 獲得超9個贊

這是一個使用的解決方案itertools.product:


from itertools import product


lst1 = ['9016', '6416', '9613']

lst2 = ['AB', 'CD']


result = list(map(''.join, map(reversed, product(lst1, lst2))))


查看完整回答
反對 回復 2023-03-22
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

sum我們也可以使用:


In [25]: sum([[f'AB{i}',f'CD{i}'] for i in List1],[])

Out[25]: ['AB9016', 'CD9016', 'AB6416', 'CD6416', 'AB9613', 'CD9613']


查看完整回答
反對 回復 2023-03-22
  • 6 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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