Python基础练习题之2
程序员文章站
2024-03-23 17:46:16
...
本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
部分答案依旧参考原博主https://blog.csdn.net/xufive/article/details/102993541题库也来自于https://blog.csdn.net/xufive/article/details/102993538写着标准答案的批注是觉得原作者的答案很不错很值得参考
###### 6th,December,2019
###### Writed by XingFu
import numpy as np
### 11 将列表[3,0,8,5,7]中大于5元素变为1,其余元素变为0
lst = [3,0,8,5,7]
re_lst = []
for i in lst:
if i > 5:
i = 1
re_lst.append(i)
elif i <= 5:
i = 0
re_lst.append(i)
print("re_lst",re_lst)
#### 标准答案:
###>>> [1 if item>5 else 0 for item in[3,0,8,5,7]]
re_lst1 = [1 if item > 5 else 0 for item in [3,0,8,5,7]]
print("re_lst1",re_lst1)
### 12 遍历列表['x','y','z'],打印每一个元素及其对应的索引号
a = ['x','y','z']
for i in a:
id = a.index(i)
print(i,id)
### 标准答案:
###>>> for index, value in enumerate(['x','y','z']):
### print('index={}, value={}'.format(index,value))
for index, value in enumerate(['x','y','z']):
print('index = {}, value = {}'.format(index,value))
### 13 将列表[0,1,2,3,4,5,6,7,8,9]拆分为奇数组和偶数组两个列表
b = [0,1,2,3,4,5,6,7,8,9]
b1 = b[::2]
b2 = b[1::2]
print("偶数",b1)
print("奇数",b2)
for i in b:
if i % 2 == 1:
b.remove(i)
print("偶数",b)
### 14 分别根据每一行的首元素和尾元素大小对二维列表排序
c = [[6,5,3],[3,7,9],[8,2,6]]
c1 = np.sort(c,axis=1)
print(c1)
### 参考答案:
### >>> a = [[6, 5], [3, 7], [2, 8]]
###>>> sorted(a, key=lambda x:x[0]) # 根据每一行的首元素排序,默认reverse=False
###[[2, 8], [3, 7], [6, 5]]
###>>> sorted(a, key=lambda x:x[-1]) # 根据每一行的尾元素排序,设置reverse=True实现逆序
###[[6, 5], [3, 7], [2, 8]]
c2 = sorted(c,key=lambda x:x[0],reverse=False)
c3 = sorted(c,key=lambda x:x[-1],reverse=False)
print(c2)
print(c3)
### 15 从列表[1,4,7,2,5,8]索引为3的位置开始,依次插入列表
# ['x','y','z']的所有元素。
d = [1,4,7,2,5,8]
e = ['x','y','z']
d.insert(3,e)
print(d)
### 16 快速生成由[5,50]区间内的整数组成的列表
h = list(np.arange(5,50,dtype=int))
print(h)
### 标准答案:
### >>> list(range(5,50)) # 和py2不同,py3的range()返回的是<class 'range'>,而不是<class 'list'>
### 17 若 a = [1,2,3], 令b = a,执行 b[0]=9 , a[0]也被改变,为何?如何避免
### 参考标答:
### >>> a = [1,2,3]
###>>> b = a
###>>> id(a) == id(b) # 对象a和对象b在内存中是同一个,所以会出现关联
###True
###>>> b = a.copy() # 正确的做法是复制一个新的对象
###>>> id(a) == id(b) ## id方法的返回值就是对象的内存地址
###False
# la = [1,2,3]
# lb = la.copy()
# lb[0] = 9
# print(la)
la = [1,2,3]
lb = la
lb[0] = 9
print(la)
### 18 将列表['x','y','z']和[1,2,3]转成[('x',1),(['y',2]),('z',3)]
v = ['x','y','z']
p = [1,2,3]
k = list(zip(v,p))
print(k)
### 参考答案:
###>>> [(a,b) for a,b in zip(['x','y','z'],[1,2,3])]
### 19,20 以列表形式返回字典{’Alice':20, 'Beth':18, 'Ceil'21}中所有的键
### 以及值
key_val = {'Alice':20, 'Beth':18, 'Ceil':21}
key_list = list(key_val.keys())
val_list = list(key_val.values())
print(type(key_list))
print(val_list)
### 标准参考答案:
a = [key for key in key_val.keys()]
b = [value for value in key_val.values()]
print(a)
print(b)
推荐阅读
-
Python基础练习:函数之文件重命名
-
Python基础知识-pycharm版(day2)
-
Python基础知识 day2
-
Python基础知识学习——Day2
-
Day2 python基础知识
-
Python 基础知识 Day2
-
Python新手学习基础之数据结构-列表1 博客分类: Python 列表list索引
-
Python新手学习基础之数据结构-列表2 添加 博客分类: Python 列表appendinsert
-
Python新手学习基础之数据结构-列表1 博客分类: Python 列表list索引
-
Python新手学习基础之数据结构-列表4 其他函数 listextendcountsortcopy