Python基础练习二


练习一
使用循环和列表推导找出单词长度大于某个数字的单词
words = ["apple", "banana", "orange", "peach","kiwi"]
wordLen = 5

循环

for item in words:
if len(item) >wordLen:
print(item)


列表推导式

[word for word in words if len(word) > wordLen]
type ([word for word in words if len(word) > wordLen])

练习2
寻找两个列表中的相同元素 l1=[1,2,5] l2=[6,2,7]
l1=[6,2,1]
l2=[6,2,5]
[l1element for l1element in l1 \
for l2element in l2 \
if l1element ==l2element]

练习3
去除一个列表中相领且重复的元素
l1=[1,2,3,4,4,4,4,4,4,5,6,6,8,8,12,12,12,12,13]
dellist = []
for i in l1:
dellist.append(i)
helpitem = ''
print('dellist',dellist)
for index, item in enumerate(dellist):
if helpitem == item:
l1.remove(item)
helpitem = item


print(l1)

练习4
用户名密码对应
给定两个列表,一个存放用户名,一个存放密码。请将用户名和密码按顺序进行对应为一个元素。
Username=[‘jack’,’bob’,’john’]
Password=[‘123’,’859’,’hello’]
Username=['jack','bob','john']
Password=['123','859','hello']
[[i,j] for i in Username for j in Password\
if Username.index(i) == Password.index(j)]

练习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]

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


练习7
实现行列互转 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]]
b = []
for i in range(len(arr[0])):
row = []
for j in range(len(arr)):
row.append(arr[j][i])
b.append(row)
print (b)


练习8
实现求指定长度的Fibonacci 数列
Fib数组初始为[0,1]
分别要求使用循环和数组实现
l1 = [1,2,3]
i = 10 #list延展的长度

for 循环操作

for item in range(i - len(l1) + 1):
if len(l1)<2:
input('list长度需大于等于2')
break
if item >= 1:
l1.append(l1[item -1]+l1[item])


print ('循环',item,'次')
print (l1)

while 操作

j = len(l1)
while j < i:
if len(l1)<2:
input('list长度需大于等于2')
break
l1.append(l1[j-2] + l1[j-1])
j = j+ 1
print(l1)

3 个评论

练习2 ,,用上换行符\了。不错。。。

练习3 ,,可以用成员操作符,试下你的思路,会更简单。

练习4,index用得6


fib那题的这句,可以再精简下:
l1.append(l1[item -1]+l1[item])

总体很棒~就是代码看得费劲~~下次记得用引用
好的 下次发代码琢磨一下怎么用引用
嗯嗯。。很简单的。但排版好看好多

要回复文章请先登录注册

返回顶部