有a1,a2,a3,a4,四个数组,四个数组重新组合成一个数组(A),间隔是10个元素
好久没折腾Py了,这是去年年初2019.3月发在Q中的一个记录,因不从事这个,并且被在工厂耽误10几年,所以很少写Blog在这里,感觉这里比较正式,而在Q中只是随意性的记载,
但发布图片总是需要另外再上传很不方便、耽误时间,cnblogs相对比较方便。
A_Combine = Array1[10]+Array2[10]+Array3[10]+Array4[10]
''' FileName = D:\Py_eg\egArray-20190328.py
1) 对列表的操作(zip,chain,类型转换)
2)函数及装饰器的应用
有A数组,长度400,
a2的1——10放到A的11——20,
a3的1——10放到A的20——30,
a4的1——10放到A的30——40,
-------------------------------------------------------------------------------------------------------------------------------------
print('*'*15,'a1数组','*'*15)
import string
from random import randint
#a1 = list(range(0,10,1)) ### a1 = [randint(0,100) for x in range(10)]
a1 = list(randint(0,100) for x in range(10)) #改进版a1
print('a1 = ',a1)
ls1=[str(i) for i in a1] ###此处转换成字符串的目的,只是假定要求的条件是字符串
print('a1 = ',ls1)
print('*'*15,'a2数组','*'*15)
#a2 = list(range(11,20,1))
a2 = list(randint(0,100) for x in range(10)) #改进版a2
print('a2 = ',a2)
ls2=[str(i) for i in a2]
print('a2 = ',ls2)
print('*'*15,'a3数组','*'*15)
#a3 = list(range(0,10,1))
a3 = list(randint(0,100) for x in range(10)) #改进版a3
print('a3 = ',a3)
ls3=[str(i) for i in a3]
print('a3 = ',ls3)
print('*'*15,'a4数组','*'*15)
#a4 = list(range(0,10,1))
a4 = list(randint(0,100) for x in range(10)) #改进版a4
print('a4 = ',a4)
ls4=[str(i) for i in a4]
print('a4 = ',ls4)
print('===== 方法 一,练习水平1 =====')
a1.extend(a2) ###怎样能做到这种形式/但不用itertools.chain形式,当然后面写法是不对的((a1.extend(a2)).extend(a3)).extend(a4)
a1.extend(a3)
a1.extend(a4)
print('A_Combine = ',a1)
# def enumerate_A():
# for i,value4 in enumerate(A_combine):
# print('A = ' +str(A_combine))
# enumerate_A()
print('===== 方法 二,练习水平2, 方法Ok =====')
import itertools
A_After_Combine_2 = []
for j in itertools.chain(ls1,ls2,ls3,ls4):
A_After_Combine_2.append(j)
print(A_After_Combine_2)
print('===== 方法 三 ,重复的、低劣=====')
print('=====a1函数形式=====')
def enumerate_fn_a1():
a1 = list(range(1,11,1))
for i,value1 in enumerate(ls1): ###思考: 此处需将4个列表的value一起迭代 (zip可成字典迭代,itertools.chain()可成链接)
#print('索引:' + str(i), '值 = ' +str(value))
print('A' + str([i+1]), ' = ' +str(value1))
enumerate_fn_a1()
print('=====a2函数形式=====')
def enumerate_fn_a2():
a2 = list(range(11,21,1))
for i,value2 in enumerate(ls2):
#print('索引:' + str(i), '值 = ' +str(value))
print('A' + str([i+11]), ' = ' +str(value2))
enumerate_fn_a2()
print('=====a3函数形式=====')
def enumerate_fn_a3():
a3 = list(range(21,31,1))
for i,value3 in enumerate(ls3):
#print('索引:' + str(i), '值 = ' +str(value))
print('A' + str([i+21]), ' = ' +str(value3))
enumerate_fn_a3()
print('=====a4函数形式=====')
def enumerate_fn_a4():
a4 = list(range(31,41,1))
for i,value4 in enumerate(ls4):
#print('索引:' + str(i), '值 = ' +str(value))
print('A' + str([i+31]), ' = ' +str(value4))
enumerate_fn_a4()
#list(enumerate_fn_a4)
### 想定义一个函数A_Combine_fun,将返回值当作新定义函数A_Combine_fun的参数;然后再执行此函数赋值一个数组
#练习对装饰器的使用(装饰器实际上就是一个函数)
运行结果:
*************** a1数组 ***************
a1 = [16, 41, 56, 70, 12, 50, 28, 34, 60, 67]
a1 = ['', '', '', '', '', '', '', '', '', '']
*************** a2数组 ***************
a2 = [63, 87, 93, 94, 60, 6, 6, 32, 89, 2]
a2 = ['', '', '', '', '', '', '', '', '', '']
*************** a3数组 ***************
a3 = [96, 71, 24, 82, 70, 64, 18, 82, 97, 9]
a3 = ['', '', '', '', '', '', '', '', '', '']
*************** a4数组 ***************
a4 = [86, 30, 10, 9, 32, 60, 31, 56, 72, 56]
a4 = ['', '', '', '', '', '', '', '', '', '']
===== 方法 一,练习水平1 =====
A_Combine = [16, 41, 56, 70, 12, 50, 28, 34, 60, 67, 63, 87, 93, 94, 60, 6, 6, 32, 89, 2, 96, 71, 24, 82, 70, 64, 18, 82, 97, 9, 86, 30, 10, 9, 32, 60, 31, 56, 72, 56]
===== 方法 二,练习水平2, 方法Ok =====
['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
===== 方法 三 ,重复的、低劣=====
=====a1函数形式=====
A[1] = 16
A[2] = 41
A[3] = 56
A[4] = 70
A[5] = 12
A[6] = 50
A[7] = 28
A[8] = 34
A[9] = 60
A[10] = 67
=====a2函数形式=====
A[11] = 63
A[12] = 87
A[13] = 93
A[14] = 94
A[15] = 60
A[16] = 6
A[17] = 6
A[18] = 32
A[19] = 89
A[20] = 2
=====a3函数形式=====
A[21] = 96
A[22] = 71
A[23] = 24
A[24] = 82
A[25] = 70
A[26] = 64
A[27] = 18
A[28] = 82
A[29] = 97
A[30] = 9
=====a4函数形式=====
A[31] = 86
A[32] = 30
A[33] = 10
A[34] = 9
A[35] = 32
A[36] = 60
A[37] = 31
A[38] = 56
A[39] = 72
A[40] = 56
[Finished in 0.3s]
发表
匿名评论(隐身草)
有a1,a2,a3,a4,四个数组,四个数组重新组合成一个数组(A),间隔是10个元素的更多相关文章
- 如何生成a1,a2,a3,a4这样的变量名
var num=6; function Girl(beautifulScore){ this.beautifulScore=beautifulScore; } var girls=[]; for (v ...
- //给定N个整数序列{A1,A2,A3...An},求函数f(i,j)=(k=i~j)Ak的求和
//给定N个整数序列{A1,A2,A3...An},求函数f(i,j)=(k=i~j)Ak的求和 # include<stdio.h> void main() { ,sum1; ]={,- ...
- 给定一个数列a1,a2,a3,...,an和m个三元组表示的查询,对于每个查询(i,j,k),输出ai,ai+1,...,aj的升序排列中第k个数。
给定一个数列a1,a2,a3,...,an和m个三元组表示的查询,对于每个查询(i,j,k),输出ai,ai+1,...,aj的升序排列中第k个数. #include <iostream> ...
- 给出一列数a1,a2,a3....an,求它们的逆序对数,即有多少个有序对(i,j) 使得iaj,n高达10的6次方
//归并排序 //#include<stdio.h> //#include<string.h> //#include<algorithm> //#include&l ...
- js 将数组中的每一项安装奇偶重新组合成一个数组对象
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 数据结构学习-数组A[m+n]中依次存放两个线性表(a1,a2···am),(b1,b2···bn),将两个顺序表位置互换
将数组中的两个顺序表位置互换,即将(b1,b2···bn)放到(a1,a2···am)前边. 解法一: 将数组中的全部元素(a1,a2,···am,b1,b2,···bn)原地逆置为(bn,bn-1, ...
- 两个有序数组 A1 A2 的合并
/** * 问题6.有序数组 A1 A2 的合并 */ @Test public void orderArrayMerge() { // 两个有序数组 A1 A2 的合并 int[] A1 = {1, ...
- 有两个序列A和B,A=(a1,a2,...,ak),B=(b1,b2,...,bk),A和B都按升序排列。对于1<=i,j<=k,求k个最小的(ai+bj)。要求算法尽量高效。
有两个序列A和B,A=(a1,a2,...,ak),B=(b1,b2,...,bk),A和B都按升序排列.对于1<=i,j<=k,求k个最小的(ai+bj).要求算法尽量高效. int * ...
- 已知一个序列A1.A2….An,给你一个整数K,找到满足所有Ai+Aj>=k的数对(i,j)的个数
#include<bits/stdc++.h> using namespace std; #define ll long long #define maxn 100010 /* 已知一个序 ...
随机推荐
- 点双连通分量F. Simple Cycles Edges
F. Simple Cycles Edges time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- Linux退出vi编辑
按ESC键 跳出vi的编辑命令,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件,并 ...
- DQN(Deep Q-learning)入门教程(二)之最优选择
在上一篇博客:DQN(Deep Q-learning)入门教程(一)之强化学习介绍中有三个很重要的函数: 策略:\(\pi(a|s) = P(A_t=a | S_t=s)\) 状态价值函数:\(v_\ ...
- JVM调优总结(二)-基本垃圾回收算法
可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数. ...
- switch-case与if-else的转换
对学会成绩大于60分的,输出合格,低于60分的输出不合格 import java.util.Scanner; public class TestSwitch3 { public static void ...
- AVIRIS 简介
AVIRIS 是指 机载可见光近红外成像光谱(Airborne Visible InfraRed Imaging Spectrometer).是由美国NASA下属的喷气动力实验室(JPL)开发和维护的 ...
- 小谢第7问:js前端如何实现大文件分片上传、上传进度、终止上传以及删除服务器文件?
文件上传一般有两种方式:文件流上传和base64方式上传,毫无疑问,当进行大文件上传时候,转为base64是不现实的,因此用formData方式结合文件流,直接上传到服务器 本文主要结合vue的来讲解 ...
- Oracle数据库表被锁死的处理方法
(1)锁表查询的代码有以下的形式: select count(*) from v$locked_object; select * from v$locked_object; (2)查看哪个表被锁 se ...
- 说了这么多次 I/O,但你知道它的原理么
O 软件目标 设备独立性 现在让我们转向对 I/O 软件的研究,I/O 软件设计一个很重要的目标就是设备独立性(device independence).啥意思呢?这意味着我们能够编写访问任何设备的应 ...
- Rocket - diplomacy - NodeHandle相关类
https://mp.weixin.qq.com/s/GWL41P1G1BXm2sTeLmckdA 介绍NodeHandle相关的类. 1. NoHandle 顶层类(tra ...