好久没折腾Py了,这是去年年初2019.3月发在Q中的一个记录,因不从事这个,并且被在工厂耽误10几年,所以很少写Blog在这里,感觉这里比较正式,而在Q中只是随意性的记载,

但发布图片总是需要另外再上传很不方便、耽误时间,cnblogs相对比较方便。

A_Combine = Array1[10]+Array2[10]+Array3[10]+Array4[10] 

###============下面是Dephi群中别人的问题,我理解了一下问题描述如下,用PY实现====================
 '''     FileName = D:\Py_eg\egArray-20190328.py
1)  对列表的操作(zip,chain,类型转换)
2)函数及装饰器的应用
---------------------------------------------------------------------------------------------------------------------------------------
请教一下,有a1,a2,a3,a4,四个数组,每个数组长度100,不一定是可用range(start,end,step)生成的数据,是这个意思
有A数组,长度400,
想取a1的1——10元素放到A的1——10
a2的1——10放到A的11——20,
a3的1——10放到A的20——30,
a4的1——10放到A的30——40,
就是四个数组重新组合成一个数组(A),间隔是10个元素

-------------------------------------------------------------------------------------------------------------------------------------

 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个元素的更多相关文章

  1. 如何生成a1,a2,a3,a4这样的变量名

    var num=6; function Girl(beautifulScore){ this.beautifulScore=beautifulScore; } var girls=[]; for (v ...

  2. //给定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; ]={,- ...

  3. 给定一个数列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> ...

  4. 给出一列数a1,a2,a3....an,求它们的逆序对数,即有多少个有序对(i,j) 使得iaj,n高达10的6次方

    //归并排序 //#include<stdio.h> //#include<string.h> //#include<algorithm> //#include&l ...

  5. js 将数组中的每一项安装奇偶重新组合成一个数组对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. 数据结构学习-数组A[m+n]中依次存放两个线性表(a1,a2···am),(b1,b2···bn),将两个顺序表位置互换

    将数组中的两个顺序表位置互换,即将(b1,b2···bn)放到(a1,a2···am)前边. 解法一: 将数组中的全部元素(a1,a2,···am,b1,b2,···bn)原地逆置为(bn,bn-1, ...

  7. 两个有序数组 A1 A2 的合并

    /** * 问题6.有序数组 A1 A2 的合并 */ @Test public void orderArrayMerge() { // 两个有序数组 A1 A2 的合并 int[] A1 = {1, ...

  8. 有两个序列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 * ...

  9. 已知一个序列A1.A2….An,给你一个整数K,找到满足所有Ai+Aj>=k的数对(i,j)的个数

    #include<bits/stdc++.h> using namespace std; #define ll long long #define maxn 100010 /* 已知一个序 ...

随机推荐

  1. hdu2243

    背单词,始终是复习英语的重要环节.在荒废了3年大学生涯后,Lele也终于要开始背单词了.一天,Lele在某本单词书上看到了一个根据词根来背单词的方法.比如"ab",放在单词前一般表 ...

  2. 29-3 union的使用

    联合结果集union (集合运算符) -------------------------使用union联合结果集---------------- select tsname,tsgender,tsag ...

  3. Mybatis 强大的结果集映射器resultMap

    1. 前言 resultMap 元素是 MyBatis 中最重要最强大的元素.它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC ...

  4. Keepalived 原理与实战

    Keepalived 原理与实战 随着系统架构的逐渐演化,服务器的数量和结构会越来越复杂,例如 Web 服务器集群的搭建,提高了系统的性能,同时也提高了系统维护的复杂度,我们需要对集群中各台服务器进行 ...

  5. tp5插入百万条数据处理优化

    <?php namespace app\index\controller; use think\Controller; use think\Db; class Charu extends Con ...

  6. Docker入门 安装Tomcat以及报404解决方案

    时间:2020/1/18 17:34:09 浏览:24 来源:互联网 记录简单的在Docker 上安装Tomcat 首先我是在云服务器上(Centos系统)安装的Docker,我们需要在https:/ ...

  7. 【QT】利用pyqt5实现简单界面

    Topic: 利用pyqt5编写简单界面Env:win10 + Pycharm2018 + Python 3.6.8Date: 2019/4/29 by hw_Chen2018            ...

  8. 【转】从一副扑克牌中随机抽取N张

    该问题为产生不重复的随机数序列,形象点就是一副扑克牌中随机抽取N张. 摘自:不重复随机数列生成算法 改了一部分 /** * 从0-max随机选N个数出来 * **/ public static int ...

  9. 伪静态%{REQUEST_FILENAME} !-f 和!-d用法

    %{REQUEST_FILENAME} !-f 和!-d只对下一条RewriteRule起作用.再往下的RewriteRule不管用. -f  表示为文件 -d 表示为目录 ! 表示非,取反的意思 R ...

  10. Java实现 LeetCode 811 子域名访问计数 (暴力)

    811. 子域名访问计数 一个网站域名,如"discuss.leetcode.com",包含了多个子域名.作为顶级域名,常用的有"com",下一级则有" ...