Python Numpy Tutorial: 列表

来源:互联网 发布:linux服务器ftp服务开 编辑:程序博客网 时间:2024/05/29 15:10

1.

# -*- coding: utf-8 -*-"""Python Version: 3.5Created on Sun May  7 23:12:00 2017E-mail: Eric2014_Lv@sjtu.edu.cn@author: DidiLv"""# 首先声明list 列表是一个可变的容器xs = [3, 1, 2]   # Create a listprint(xs, xs[2])  # Prints "[3, 1, 2] 2"print(xs[-1])     # 负数输出是按照倒叙输出 prints "2"print(xs[-2])#print(xs[-5])xs[2] = 'foo'    # Lists can contain elements of different typesprint(xs)         # Prints "[3, 1, 'foo']"xs.append('bar') # Add a new element to the end of the listprint(xs)         # Prints "[3, 1, 'foo', 'bar']"x = xs.pop()     # 移除并返回最后一个元素print(x, xs)      # Prints "bar [3, 1, 'foo']"

2.

# -*- coding: utf-8 -*-"""Python Version: 3.5Created on Sun May  7 23:19:39 2017E-mail: Eric2014_Lv@sjtu.edu.cn@author: DidiLv"""nums = range(5) #记住range函数返回只是一个迭代器真正生成需要list来生成,这是跟python2的区别print(nums)print(list(nums))print(list(nums[2:4]), "\n", list(nums[2:]), "\n", list(nums[:2]))print(list(nums[:-2])) # 从后面删掉两个然后输出print(list(nums))nums_list = list(range(7))print(nums_list)print(list(nums_list))print(nums_list[2:6], "\n", nums_list[3:], "\n", nums_list[:6])print(nums_list[:-2]) # 从后面删掉两个然后输出nums_list[2:4] = [8, 1000, 9] #这里的nums_list是一个真正的list从而可以随便的更改print(nums_list)

输出:

range(0, 5)[0, 1, 2, 3, 4][2, 3]  [2, 3, 4]  [0, 1][0, 1, 2][0, 1, 2, 3, 4][0, 1, 2, 3, 4, 5, 6][0, 1, 2, 3, 4, 5, 6][2, 3, 4, 5]  [3, 4, 5, 6]  [0, 1, 2, 3, 4, 5][0, 1, 2, 3, 4][0, 1, 8, 1000, 9, 4, 5, 6]

2.

# -*- coding: utf-8 -*-"""Python Version: 3.5Created on Sun May  7 23:36:49 2017E-mail: Eric2014_Lv@sjtu.edu.cn@author: DidiLv"""# list是一个可迭代的容器animals = ['cat', 'dog', 'monkey']for animal in animals:    print(animal)animals = ['cat', 'dog', 'monkey']# 输出index要用enumerate()函数for i, animal in enumerate(animals):    print('#%d: %s' % (i + 1, animal))# 转化数据 1: for循环   nums = [0, 1, 2, 3, 4]squares = []for x in nums:    squares.append(x ** 2) #一个一个添加print(squares)   # Prints [0, 1, 4, 9, 16]# 转化数据 2: 列表解析squares_list = [x ** 2 for x in nums]print(squares_list)# 列表解析用处很大,再列出一个超级叼的二分归并程序最简版def quicksort(arr):    if len(arr) <= 1:        return arr       return quicksort([x for x in arr if x < arr[int(len(arr) / 2)]]) + [x for x in arr if x == arr[int(len(arr) / 2)]] + quicksort([x for x in arr if x > arr[int(len(arr) / 2)]])print(quicksort([3,6,8,10,1,2,1]))

输出:

catdogmonkey#1: cat#2: dog#3: monkey[0, 1, 4, 9, 16][0, 1, 4, 9, 16][1, 1, 2, 3, 6, 8, 10]

求问:谁能将此代码再减少一行甚至更多,因为我感觉if判断长度为1时候可以继续减少

0 0
原创粉丝点击