python基础升级班 第二课练习(作业后续补交)


1.使用循环和列表推导找出单词长度大于某个数字的单词 words = ["apple", "banana", "orange", "peach","kiwi"]
n = int(input('请输入某个数字:'))
L = ["apple", "banana", "orange", "peach","kiwi"]
[x for x in L if len(x)>=n]

#循环
n = int(input('请输入某个数字:'))
L = ["apple", "banana", "orange", "peach","kiwi"]
L1 =[]
for x in L:
    if len(x)>=n:
        L1.append(x)
print(L1)


2.寻找两个列表中的相同元素
l1=[1,2,5]
l2=[6,2,7]
l1 = [1,2,3,55,6,33,88]
l2 = [33,2,4,77,88]
L3 =[]
for x in l1:
    if (x in l2):
        L3.append(x)
        continue
    else:
        pass
print(L3)

list1 = l1.split() 
list2 = l2.split() 
n1 = list(map(int, list1))
n2 = list(map(int, list2))
L3 =[]
for x in n1:
    if (x in n2):
        L3.append(x)
        continue
    else:
        pass
print(L3)

exec(input('请输入第一个列表:'))
exec(input('请输入第二个列表:'))
L3 =[]
for x in L1:
    if (x in L2):
        L3.append(x)
        continue
    else:
        pass
print(L3)


请输入第一个列表:L1=[1,2,3]
请输入第二个列表:L2=[2,3,4]
[2, 3]
3.去除一个列表中相邻且重复的元素。 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]
for i in range(len(l1)-1):
    if (l1[i]==l1[i+1]):
        l1[i]=' '
        continue
    else:
        pass
    i=i+1
print(l1)
while ' ' in l1:
    l1.remove(' ')
print(l1)


4.用户名密码对应 给定两个列表,一个存放用户名,一个存放密码。请将用户名和密码按顺序进行对应为一个元素。 Username=[‘jack’,’bob’,’john’] Password=[‘123’,’859’,’hello’]
l1 = ['jjj','jwsk','sie']
l2 =['222','249','3322']
l=list(zip(l1,l2))
print(l)


[('jjj', '222'), ('jwsk', '249'), ('sie', '3322')]

5.使用列表推导式,打印出颜色与尺寸的(组合)
colors=['black','white']
sizes=['S','M','L']

colors=['black','white']
sizes=['S','M','L']
[(i,j) for i in colors for j in sizes]
Out[17]:
[('black', 'S'),
 ('black', 'M'),
 ('black', 'L'),
 ('white', 'S'),
 ('white', 'M'),
 ('white', 'L')]

6.词频统计
l1=['sklearn','AI','julyedu.com','Caffe','AI','sklearn‘]
对l1包含的单词,利用dict统计词频
对每个参数进行判断,若在则对应的value+1
否则根据该字符创建一个key并且value设置为1
最后输出该词典

l1=['sss','wir','ksun','jejsk','sss','wir']
l2=[]
for i in range(len(l1)):
    l2.append(l1.count(l1[i]))
    i=i+1
dict(zip(l1,l2))


7.- 实现行列互转
arr= [[1, 2, 3], [4, 5, 6], [7,8, 9], [10, 11, 12]]
a =list(zip(*arr))
print(a)


[(1, 4, 7, 10), (2, 5, 8, 11), (3, 6, 9, 12)]
8.实现求指定长度的Fibonacci 数列 Fib数组初始为[0,1] 分别要求使用循环和数组实现

数组

n =int(input('请输入数字:'))
F =[0,1]
i = 0
while (i < (n-2)):
    a =F[i]+F[i+1] 
    F.append(a)
    i = i+1
print(F)



请输入数字:8
[0, 1, 1, 2, 3, 5, 8, 13]
In [ ]:

循环

普通 的for循环,
不用数组。一般可以用变量交换的形式完成
你试着不用数组 实现下,就明白了

n =int(input('请输入数字:'))
F =[0,1];a =0;b =1;
for i in range(n-2):
    c = b
    b = a+c
    a = c
    F.append(b)
print(F)


已邀请:

ClownFish

赞同来自:


2.寻找两个列表中的相同元素
这题可以有更简单的解决方法。

其它题目的回答都非常棒

要回复问题请先登录注册

返回顶部