好久没折腾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. 就为了一个原子操作,其他CPU核心罢工了

    i++问题 "阿Q赶快回去吧,隔壁二号车间的虎子说我们改了他们的数据,上门来闹事了" 由于老K的突然出现,我不得不提前结束与小黑的交流,赶回了CPU一号车间. 见到我回来,虎子立刻 ...

  2. poj2914无向图的最小割

    http://blog.csdn.net/vsooda/article/details/7397449 //算法理论 http://www.cnblogs.com/ylfdrib/archive/20 ...

  3. 【MySQL】索引的本质(B+Tree)解析

    索引是帮助MySQL高效获取数据的排好序的数据结构. 索引数据结构 二叉树 红黑树 Hash表 B-Tree MySQL所使用为B+Tree (B-Tree变种) 非叶子节点不存储data,只存储索引 ...

  4. swiper插件在移动端,多个swiper左右滑动时有空白的问题

    之前在项目上用到了多个swiper.但是结构结构代码css.以及js  几乎一样的除了第一个swiper左右滑动有回弹.其他都没有回弹.于是尝试了各种方法都不行. 百思不得其解 ,最后在官网终于找到了 ...

  5. python脚本实现接口自动化轻松搞定上千条接口用例

    接口自动化目前是测试圈主流的一个话题,我也在网上搜索了很多关于自动化的关键词,大多数博主分享的python做接口自动化都是以开源的框架,比如:pytest.unittest+ddt(数据驱动) 最常见 ...

  6. Centos7无界面化启动

    Centos7无界面启动: 为了减少系统开销,有时候我们需要无图形界面启动linux(centos7) systemctl set-default multi-user.target (关闭图形界面) ...

  7. 50个SQL语句(MySQL版) 问题七

    --------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...

  8. Orcle 查询语句

    首先,以超级管理员的身份登录oracle       sqlplus sys/bjsxt as sysdba   --然后,解除对scott用户的锁       alter user scott ac ...

  9. Rocket - debug - Example: Write Memory

    https://mp.weixin.qq.com/s/on1LugO9fTFJstMes3T2Xg 介绍riscv-debug的使用实例:使用三种方法写内存. 1. Using System Bus ...

  10. Chisel3 - util - LockingArbiter

    https://mp.weixin.qq.com/s/5oAwH3scumARzPidRBfG2w     带锁多入单出仲裁器,输出会被锁定指定的时钟周期.   参考链接: https://githu ...