【题目描述】
给定N个整数组成的序列,每次交换当前第x个与第y个整数,要求输出最终第序列。
【输入】
第一行为序列第大小N(1 【输出】 输出N行,为交换后第序列中的数。 【样例输入】 5 2 1 2 3 4 5 1 2 3 4 【样例输出】 2 1 4 3 5 【代码详解】 zip的用法 Python zip() 函数 | 菜鸟教程Python zip() 函数 Python 内置函数 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。 zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表..https://www.runoob.com/python/python-func-zip.html由于 原因是为了节约内存,python3基于此对此进行了优化,输出只输出对象的内存位置而不打印出来。而在python2中可以直接输出到屏幕 《Python数据处理》7.2.1笔记: zip函数输出为“zip object at 0x00000272CAEDD488”_python__reported的博客-CSDN博客《Python数据处理》7.2.1笔记:zip函数输出为“zip object at 0x00000272CAEDD488”一、现象二、原因三、解决办法(一)增加一个list()(二)进行美化一、现象书中位置:2合并问题与答案的 第三个代码处:#变量名有不同,原为zipped_datazip_data = []for drow in new_data: zip_data.append(zip(head_row, drow)) #作者是直接打印的 zip_data[https://blog.csdn.net/python__reported/article/details/106082620?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164628695916780264011633%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164628695916780264011633&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-106082620.pc_search_result_cache&utm_term=+%3Czip+object+at+0x101c47c40%3E&spm=1018.2226.3001.4187N,M=map(int,input().split())
n=list(map(int,input().split()))
list_1=[]
list_2=[]
for i in range(M):
x,y=map(int,input().split())
list_1.append(x) #将x的值存入list_1里
list_2.append(y) #将y的值存入list_2里
dict_1=list(zip(list_1,list_2))#用于存入两列表
#[(1, 2), (3, 4)] dict_1[0][0]=1
a=n.index(dict_1[1][1]) #寻找在n列表中的下标位置
print(dict_1)
print(a)
for i in range(0,M):
a=n.index(dict_1[i][0]) #寻找在n列表中的下标位置
b=n.index(dict_1[i][1])
if a!=b:
n[a],n[b]=n[b],n[a]
else:
i+=1
for k in n:
print(k)



