![](/img/trans.png)
[英]How to match names and email addresses in a list of names and a list of email addresses?
[英]How to sort a string of email addresses to a list
我想將包含電子郵件地址的字符串排序到電子郵件地址列表。 代碼卡住了,什么也沒發生。
unsorted = "sge@grg.lt ggrge@yahoo.com"
def sort_thatstring():
s = ""
out = []
for x in unsorted:
s = ""
while x != " ":
s+=str(x)
else:
out.append(s)
sort_thatstring()
print out
我想得到:
out = ["sge@grg.lt", "ggrge@yahoo.com"]
你可以做:
sorted_list = sorted(unsorted.split(), key=lambda x: x.split('@')[1])
print(sorted_list)
#['sge@grg.lt', 'ggrge@yahoo.com']
您的代碼有兩個問題:
每次在for循環中循環時,都會重置s,從而導致丟失已讀取的數據。
while語句還構造了一個循環,但是您像if一樣使用它。 嘗試用if代替while並閱讀條件和循環構造函數之間的區別。
您的函數還需要返回out數組,否則一旦函數到達末尾,它將被銷毀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.