目录
1.2 list1 = ['life','is','short'] list2 = ['you','need','python']将两个列表合并为一个列表并排序输出
1.3.系统里面有多个用户,用户的信息目前保存在列表里面(一一对应的关系)
1.5.有1,2,3,4,5,6,7,8 八个数字,能组成多少个互不相同且无重复数字的两位数?
1.列表练习
1.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] +'.‘')
1.2 list1 = ['life','is','short'] list2 = ['you','need','python']
将两个列表合并为一个列表并排序输出
list1=['life','is','short']
list2=['you','need','python']
print(list1 + list2)
1.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("密码错误!")
1.4.列表的函数操作练习
list1 = ['life','is','short'] , list2 = ['you','need','python']
# (1)
# 将两个列表合并为一个列表并排序输出
# 将list2作为list1的一个元素加入到list1
# 将list2作为一个元素插入到“life”之后
list1=['life','is','short']
list2=['you','need','python']
print(list1+list2)
list1.extend(list2)
print(list1)
list1.insert(1,list2)
print(list1)
# (2)
# 将list2的“need”删除
# 将第一步操作后的list1的最后一个元素输出,并从list1中移除
list1=['life','is','short']
list2=['you','need','python']
list1.extend(list2)
list1.insert(1,list2)
x=list2.pop(1)
print(list2)
print(list1[-1])
list1.pop()
print(list1)
# (3)
# 统计list1中“is”出现的次数
# 输出list1中“short”的位置
list1=['life','is','short']
list2=['you','need','python']
list1.extend(list2)
list1.insert(1,list2)
print(list1.count('is'))
print(list1.index('short'))
# (4)
# 将list2逆序输出(使用切片和函数两种方式)
# 将list2排序并输出
list2=['you','need','python']
print(list2[::-1])
list2.reverse()
print(list2)
list2.sort()
print(list2)
1.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 :
num = i*10+j
count +=1
if num not in sum :
sum.append(num)
print(int(num),end=' ')
print()
print('共有'+str(count)+ '个')
2.元组练习
2.1.创建一个只有一个元素的元组
tup1=(5,)
2.2. 写出下面程序的运行结果。
temp=("Li","Yu","Song","Gao")
temp=temp[:2]+("Tang",)+temp[2:]
print(temp)
回答问题:
("Tang",)的括号可以不要吗?试一下。
temp=("Li","Yu","Song","Gao")
temp=temp[:2]+("Tang",)+temp[2:]
print(temp)
temp=("Li","Yu","Song","Gao")
temp=temp[:2]+"Tang",+temp[2:]
("Tang",)的逗号可以不要吗?试一下。
temp=("Li","Yu","Song","Gao")
temp=temp[:2]+("Tang")+temp[2:]
元组是不可变对象,上面的语句为什么可以得到一个‘变化了的’元组?
元组的元素是列表,因为列表是可变对象,因此可以对列表的元素进行修改。
3.字典练习
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)
4.集合练习
定义列表:
```
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)
5.综合练习
name = ["张三", "李四", "王五"]
sign = [85, 95, 80]
使用推导式输出字典形式{'张三': 85, '李四': 95, '王五': 80}
name = ["张三", "李四", "王五"]
sign = [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 = "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)