码迷,mamicode.com
首页 > 编程语言 > 详细

python学习7

时间:2017-12-14 14:51:20      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:信息   other   特定   item   remove   --   result   body   print   

一、使用while 循环来处理列表和字典

  1、在列表之间移动元素

首先,创建一个待验证用户列表
# 和一个用于存储已验证用户的空列表
unconfirmed_users = [alice, brian, candace]
confirmed_users = []
# 验证每个用户,直到没有未验证用户为止
# 将每个经过验证的列表都移到已验证用户列表中
while unconfirmed_users:
    current_user = unconfirmed_users.pop()
    print("Verifying user: " + current_user.title())
    confirmed_users.append(current_user)
# 显示所有已验证的用户
print("\nThe following users have been confirmed:")
for confirmed_user in confirmed_users:
    print(confirmed_user.title())



Verifying user: Candace
Verifying user: Brian
Verifying user: Alice
The following users have been confirmed:
Candace
Brian
Alice

 说明: 我们首先创建了一个未验证用户列表(见?),其中包含用户Alice、Brian和Candace,还创
建了一个空列表,用于存储已验证的用户。?处的while循环将不断地运行,直到列表
unconfirmed_users变成空的。在这个循环中,?处的函数pop()以每次一个的方式从列表
unconfirmed_users末尾删除未验证的用户。由于Candace位于列表unconfirmed_users末尾,因此
其名字将首先被删除、存储到变量current_user中并加入到列表confirmed_users中(见?)。接
下来是Brian,然后是Alice。(while遍历列表是无序的)。

  2、删除包含特定值的所有列表元素

  我们使用函数remove()来删除列表中的特定值,这之所以可行,是因为要删除

的值在列表中只出现了一次。如果要删除列表中所有包含特定值的元素。

  

pets = [dog, cat, dog, goldfish, cat, rabbit, cat]
print(pets)
while cat in pets:
    pets.remove(cat)
    print(pets)

[dog, cat, dog, goldfish, cat, rabbit, cat]
[dog, dog, goldfish, rabbit]

  3\使用用户输入来填充字典

responses = {}
# 设置一个标志,指出调查是否继续
polling_active = True
while polling_active:
# 提示输入被调查者的名字和回答
    name = input("\nWhat is your name? ")
    response = input("Which mountain would you like to climb             someday? ")
# 将答卷存储在字典中
    responses[name] = response
# 看看是否还有人要参与调查
    repeat = input("Would you like to let another person respond? (yes/ no) ")
    if repeat == no:
    polling_active = False
# 调查结束,显示结果
    print("\n--- Poll Results ---")
for name, response in responses.items():
    print(name + " would like to climb " + response + ".")


What is your name? Eric
Which mountain would you like to climb someday? Denali
Would you like to let another person respond? (yes/ no) yes
What is your name? Lynn
Which mountain would you like to climb someday? Devil‘s Thumb
Would you like to let another person respond? (yes/ no) no
--- Poll Results ---
Lynn would like to climb Devil‘s Thumb.
Eric would like to climb Denali.

  这个程序首先定义了一个空字典(responses),并设置了一个标志(polling_active),用于
指出调查是否继续。只要polling_active为True,Python就运行while循环中的代码。
  在这个循环中,提示用户输入其用户名及其喜欢爬哪座山(见?)。将这些信息存储在字典
responses中(见?),然后询问用户调查是否继续(见?)。如果用户输入yes,程序将再次进入
while循环;如果用户输入no,标志polling_active将被设置为False,而while循环将就此结束。
最后一个代码块(见?)显示调查结果。

python学习7

标签:信息   other   特定   item   remove   --   result   body   print   

原文地址:http://www.cnblogs.com/a255/p/8037344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!