Python两个列表元素比较

Python两个列表元素的对比经常遇到,如何正确的比较?

知识点:列表解析。

详解:

列表解析 List Comprehensions

表达式:[expression for iter_val in iterable if cond_expr]

  • [expression]:最后执行的结果
  • [for iter_val in iterable]:这个可以是一个多层循环
  • [if cond_expr]:两个for间是不能有判断语句的,判断语句只能在最后;顺序不定,默认是左到右。

代码操作:

current_names = ["java","go","selenium","appium","python"]
new_users = ["java","go","javascript","HTTP","C++"]

current_names = [current_name.lower() for current_name in current_names]
new_users = [new_user.lower() for new_user in new_users]

for new_user in new_users:
    if new_user in current_names:
        print(new_user + " 用户名已被使用")
    else:
        print(new_user + " 用户名可以使用")

运行结果:

java 用户名已被使用
go 用户名已被使用
javascript 用户名可以使用
http 用户名可以使用
c++ 用户名可以使用

拓展练习:

设置微博名时,常会遇到"用户名已被占用"情况,那么如何使用Python进行简单的实现?

设计思路:

1、设置一个列表,用于存储全网用户名称(新名称则添加、替换名称则自动删除)

2、用户提交名称时,列表进行一次查询,查看是否有重复,并做相关提示

3、不区分大小写,即:PYTHON/Python/python/pYTHOn....默认是一个名字,提交会提醒重复。

代码如下:

 1 """
 2 
 3 current_names = ["solo", "James", "echo", "JOY", "Tump", "AOBAMA", "新浪新闻", "新浪NEWS",
 4                  "新浪NBA", "ChinaNEWS"]  # 随意列举几个
 5 
 6 Num_Time = 0 #定义编辑次数,大于3次则退出
 7 
 8 while Num_Time <= 3:
 9 
10     user_name = input("Please input your name:")
11     user_name = user_name.lower()
12     new_users = []
13     new_users.append(user_name)
14 
15     current_names = [current_name.lower() for current_name in current_names]  # 列表解析
16     new_users = [new_user.lower() for new_user in new_users]
17 
18     if user_name in current_names:
19         print(user_name + "用户名称已被占用,请重试。")
20         Num_Time += 1
21 
22     else:
23         print(user_name + "用户名可以使用,请提交。")
24         current_names.append(user_name)
25         print("当前用户名为:" + user_name)
26         print("用户名称列表: " + str(current_names))
27         break

运行结果:

Please input your name:solo
solo用户名称已被占用,请重试。
Please input your name:nbs
nbs用户名可以使用,请提交。
当前用户名为:nbs
用户名称列表: ['solo', 'james', 'echo', 'joy', 'tump', 'aobama', '新浪新闻', '新浪news', '新浪nba', 'chinanews', 'nbs']

Process finished with exit code 0

如果让加入的新名称一直存放在列表中,并且修改成功后还可以继续修改,代码如何操作?

猜你喜欢

转载自www.cnblogs.com/aszeno/p/12936512.html