python-task5-字符串、列表、元组、字典、集合

列表练习

1.假定有下面的列表: names = ['fentiao','fendai','fensi','apple'] 输出结果为:'I have fentiao, fendai, fensi and apple.'
names = ['fentiao', 'fendai', 'fensi', 'apple']
print('I have ' + ', '.join(names[:-1]) + ' and ' + names[-1] + '.')
2.list1 = ['life','is','short'] list2 = ['you','need','python']将两个列表合并为一个列表并排序输出
list1 = ['life','is','short'] 
list2 = ['you','need','python']
list3=list1+list2
print(list3)
3.系统里面有多个用户,用户的信息目前保存在列表里面(一一对应的关系)
    users = ['root','westos']
    passwd = ['123','456']
要求:用户输入用户名和密码
    1).判断用户是否存在。如果用户不存在,提示用户不存在,结束
    2).如果存在
        1) 判断用户密码是否正确,如果正确,登陆成功,退出循环
        2)如果密码不正确,提示密码不正确,结束
users=['root','westos']
passwd=['123','456']
a=input("请输入用户名: ")
b=input("请输入密码: ")
if str(a) not in users:
    print("用户不存在")
elif a == 'root':
    if b=='123':
        print("登陆成功")
    else :
        print("密码错误")
elif a=='westos':
    if b=='456':
        print("登陆成功")
    else :
        print("密码错误")
4.列表的函数操作练习list1 = ['life','is','short'] , list2 = ['you','need','python']
# (1)   
list1 = ['life','is','short'] 
list2 = ['you','need','python']
# 将两个列表合并为一个列表并排序输出  
print(list1+list2)
# 将list2作为list1的一个元素加入到list1
list1.append(list2)
print(list1)
# 将list2作为一个元素插入到“life”之后
list1.insert(1,list2)
print(list1)
# (2)  
list1 = ['life','is','short'] 
list2 = ['you','need','python']
#  将list2的“need”删除
list2.pop()
print(list2)
#  将第一步操作后的list1的最后一个元素输出,并从list1中移除
x=list1.pop()
print(x)
print(list1)
# (3) 
list1 = ['life','is','short'] 
list2 = ['you','need','python']
# 统计list1中“is”出现的次数
list1.extend(list2)
list1.insert(1,list2)
print(list1.count('is'))
# 输出list1中“short”的位置
print(list1.index('short'))
# (4)    
# 将list2逆序输出(使用切片和函数两种方式)
# 将list2排序并输出
list2=['you','need','python']
print(list2[::-1])
list2.reverse()
print(list2)
list2.sort()
print(list2)
5.有1,2,3,4,5,6,7,8 八个数字,能组成多少个互不相同且无重复数字的两位数?
count=0
sum=[]
for i in range (1,9):
    for j in range (i,9):
        if i!=j :
            n = i*10+j
            count +=1
            if n not in sum :
                sum.append(n)
                print(int(n),end=' ')
print()
print('共有'+str(count)+ '个')

元组练习

1.创建一个只有一个元素的元组
tup1=(9,)
print(tup1)
2. 写出下面程序的运行结果。
temp=("Li","Yu","Song","Gao")    
temp=temp[:2]+("Tang",)+temp[2:]  
print(temp)
回答问题:
("Tang",)的括号可以不要吗?试一下。
("Tang",)的逗号号可以不要吗?试一下。
元组是不可变对象,上面的语句为什么可以得到一个‘变化了的’元组?
temp=("Li","Yu","Song","Gao")    
temp=temp[:2]+("Tang",)+temp[2:]  
print(temp)

#运行结果:
('Li', 'Yu', 'Tang', 'Song', 'Gao')

#不可以去掉括号。在 Python 中,元组的括号可以用来明确元组的元素顺序和结构。即使只有一个元素,也需要使用括号括起来。

#不可以去掉逗号。在 Python 中,逗号用于分隔元组的元素,如果去掉逗号,那么剩下的部分将不是一个有效的元组,而是一个其他类型的对象(可能是字符串或其他数据类型)。这会导致程序出错或无法正确运行。

#虽然元组是不可变对象,但是我们可以使用切片和连接操作来生成一个新的元组,而这个新的元组与原始元组没有任何关联。在上面的代码中,我们使用了切片操作 temp[:2] 和 temp[2:] 来分别获取原始元组的第一个和最后一个元素,然后将其与一个新的元素 Tang 连接起来,形成了一个新的元组。这个新的元组与原始元组没有任何关联,因此我们可以得到一个‘变化了的’元组。

字典练习

dict = {"k1":"v1","k2":"v2","k3":v3"}
1、请循环遍历出所有的key
2、请循环遍历出所有的value
3、请循环遍历出所有的key和value
4、请在字典中增加一个键值对,"k4":"v4",输出添加后的字典
5、请删除字典中键值对"k1":"v1",并输出删除后的结果 6、现有dict2 = {"k1":"v11","a":"b"},通过一行操作使dict2 = {"k1":"v1","k2":"v2","k3":"v3","a":"b"}
dict={"k1":"v1","k2":"v2","k3":"v3"}
for key in dict:
    print(key,end=' ')
print()
for value in dict:
    print(dict[value],end=' ')
print()
for key, value in dict.items():
    print(key,end=' ')
    print(value,end=' ')
dict["k4"]="v4"
print()
print(dict)
del dict['k1']
print(dict)
dict2={"k1":"v1","a":"b"}
dict2.popitem()
dict3={"k2":"v2","k3":"v3"}
dict2.update(dict3)
dict2["a"]="b"
print(dict2)

集合练习

   定义列表:
     list1 = ['life','is','short'],
     list2 = ['you','need','python']
     list3 = [1,2,3,4,5,3,4,2,1,5,7,9]
完成以下操作:
(1)把上述三个列表构造为一个集合 list_set1
(2)输出集合的长度
(3)把python从集合中移除
(4)判断集合中是否存在元素‘you’
list1 = ['life','is','short']
list2 = ['you','need','python']
list3 = [1,2,3,4,5,3,4,2,1,5,7,9]
a=list1+list2+list3
list_set1=set(a)
print('list_set1为:'+str(list_set1))
print('集合长度为:'+str(len(list_set1)))
list_set1.remove('python')
print(list_set1)
print('you'in list_set1)

综合练习

name = ["张三", "李四", "王五"]  
sign = [85, 95, 80]  
#使用推导式输出字典形式{'张三': 85, '李四': 95, '王五': 80}
dict1={i:j for i,j in zip(name,sign)}
print(dict1)
print(zip(name,sign))
print(*zip(name,sign))
print(list(zip(name,sign)))
cookies = "id=11923020101; name=tom; score=90"
#使用推导式输出如下形式:{'id': '11923020101', 'name': 'tom', 'score': '90'}

cookies={cookies.split("=")[0]:cookies.split("=")[1] for cookies in cookies.split(";")}
print(cookies)
#使用字典的函数,统计字符串不同字母的个数
a=input('请输入字符串:')
dict1={}
for b in a:
    dict1.setdefault(b,0)
    dict1[b]+=1
print(dict1)

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西唯兵欧泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值