python基础升级第二次作业


'''练习一:

words = ["apple", "banana", "orange","peach","kiwi"]
使用列表推导式找出单词长度大于5的单词
'''

使用循环的方法:

 words = ["apple", "banana", "orange","peach","kiwi"]
 for i in range(len(words)):
     if len(words[i]) > 5: print(words[i])


使用列表推导式的方法:

words = ["apple", "banana", "orange","peach","kiwi"]
word = [words[i] for i in range(len(words)) if len(words[i]) > 5]
print(word)


'''练习二:
使用列表推导式寻找两个列表中的相同元素
l1=[1,2,5]
l2=[6,2,7]
'''

使用循环的方法:

l1=[1,2,5]
l2=[6,2,7]
for i in l1:
    for j in l2:
        if  i==j : print(i)


使用列表推导式的方法:

l1=[1,2,5]
l2=[6,2,7]
l3= [i for i in l1 for j in l2 if i ==j ]
print(l3)


使用集合set

l1=[1,2,5]
l2=[6,2,7]
result = list(set(l1) & set(l2))
print(result)


'''练习三:去除一个列表中相领且重复的元素。
l1=[1,2,3,4,4,4,4,4,4,5,6,6,8,8,12,12,12,12,13]
'''
l1=[1,2,3,4,4,4,4,4,4,5,6,6,8,8,12,12,12,12,13]
a = set(l1)
l1 = list(a)
print(a)
print(l1)


l1=[1,2,3,4,4,4,4,4,4,5,6,6,8,8,12,12,12,12,13]
result =list(l1[i] for i in range(len(l1)) if i == 0 or l1[i] !=l1[i-1])
print(result)
#这个是看了别人的代码

'''练习四:
用户名密码对应
给定两个列表, 一个存放用户名, 一个存放密码。 请将用户名和密码按顺序进行对应为一个元素。
Username=[‘jack’,’bob’,’john’]
Password=[‘123’,’859’,’hello’]
'''
Username=['jack','bob','john']
Password=['123','859','hello']
UserPasswrd = {}
Len = len(Username)
for i in range(Len):
    UserPasswrd1 = {Username[i]:Password[i]}
    UserPasswrd.update(UserPasswrd1)
print(UserPasswrd)


Username=['jack','bob','john']
Password=['123','859','hello']
UserPasswrd = list(zip(Username,Password))
UserPasswr = dict(UserPasswrd)
print(UserPasswr)

第一个是自己写的,第二个是看了别人的思路,想起了用zip函数

'''练习五:
使用列表推导式, 打印出颜色与尺寸的(组合)
colors=['black','white']
sizes=['S','M','L']
'''
#
colors = ['black','white']
sizes = ['S','M','L']
group = [[i,j] for i in colors for j in sizes ]
print(group)


'''
词频统计
l1=['sklearn','AI','julyedu.com','Caffe','AI','sklearn‘]
对l1包含的单词,利用dict统计词频
对每个参数进行判断,若在则对应的value+1
否则根据该字符创建一个key并且value设置为1
最后输出该词典
'''
l1=['sklearn','AI','julyedu.com','Caffe','AI','sklearn']
key = list(set(l1))
dic = {}
for i in key:
    count = 0
    for j in l1:
        if j == i:
            count +=1
        dic1 = {i:count}
        dic.update(dic1)
print(dic)


'''练习七:
实现行列互转
arr= [[1, 2, 3], [4, 5, 6], [7,8, 9], [10, 11, 12]]
'''
arr= [[1, 2, 3], [4, 5, 6], [7,8, 9], [10, 11, 12]]
arr1 = []
for i in range(len(arr[0])):
    arr2 = []
    for j in range(len(arr)):
        arr2.append(arr[j][i])
    arr1.append(arr2)
print(arr1)


'''练习八:
实现求指定长度的Fibonacci 数列
Fib数组初始为[0,1]
分别要求使用循环和列表实现
'''

用循环

n = 9
Fib = [0,1]
for i in range(2,n):
    Fib.append(Fib[i-2]+Fib[i-1])
print(Fib)


'''作业:
[ ]对应检查
输入含有[]的字符串, 输出对中括号出现规则的检测结果
[][] OK ][][ NOT OK
[[][]] OK []][[] NOT OK

[[][[]]] OK ][]][[][ NOT OK

'''
str1 = list(input('请输入含有[]的字符串:'))
count1 = 0
count2 = 0
for s in str1:
    if s == '[': count1 +=1
    if s == ']': count2 +=1
if count1 == count2 and str[0] == '[': print('OK')
else:print('NOK')
已邀请:

qq用户321660

赞同来自:


不错,都完成了,虽然参考了别人的作业。
做完用了多久?

要回复问题请先登录注册

返回顶部