列表练习
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)