好久没折腾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. mysql全方位知识大盘点

    一.mysql都有哪些存储引擎?各自的特点是什么? 引擎 事务 锁 主键 索引 外键 数据结构 适用场景 InnoDB 支持 行锁.表锁 必须有主键,没有设置会自动创建 主键索引和数据在一起,其他索引 ...

  2. 最优化之Robust PCA

    最近加了一个QQ群,接触了点新的东西,包括稀疏近似,低秩近似和压缩感知等.Robust PCA中既包含了低秩,又包含了稀疏,于是以其为切入点,做了如下笔记.笔记中有的公式有比较详细的推导,希望对读者有 ...

  3. 一,View中引用自定义Dialog组件

    需求: 在项目中,有时候可能在不同画面需要完成同一功能,比如示例文件列表查看功能,系统上传文件,需要查看文件列表,以及文件历史记录 话不多说,上图 这个查看文件的Dialog需要在系统中的很多地方调用 ...

  4. get_client_ip()

    get_client_ip()获取ip地址,在开启IPv6协议的主机上会全部返回0.0.0.0原因是他会把ipv6地址认为是非法地址而转换成0.0.0.0,而ipv4地址在ipv6主机上用get_cl ...

  5. 剑指Offer之变态跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 思路:由于青蛙每次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级,故除了 ...

  6. TensorFlow的checkpoint文件转换为pb文件

    由于项目需要,需要将TensorFlow保存的模型从ckpt文件转换为pb文件. import os from tensorflow.python import pywrap_tensorflow f ...

  7. JVM调优总结(二)-基本垃圾回收算法

    可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数. ...

  8. React Router简单Demo

    简介 react router是使用react的时候首选的一个路由工具. 安装 react router包含react-router,react-router-dom和react-router-nat ...

  9. SpringBoot系列—简单的邮件系统

    1. 效果发送效果图 2. 邮件开发准备工作 3. springboot引入mail服务 4. 启动应用,开始4种邮件发送测试 1. 效果发送效果图 连续发送了四封邮件:普通文本邮件,带附件的邮件,内 ...

  10. Codeforces Round #646 (Div. 2)【C. Game On Leaves 题解】

    题意分析 关于这道题,意思就是两个人摘叶子,谁最后摘到编号为x的谁就赢了.既然是叶子,说明其最多只有一个分支,由于题目上说了是无向图,那就是度数小于等于的节点.也就是一步步移除度数小于等于的节点,直到 ...