Python快速入门(3)列表、练习题
来源:互联网 发布:软件字体看不清 编辑:程序博客网 时间:2024/05/19 18:43
06
序列:(三种类型)
字符串 不可以修改
列表list [] 可以修改 ex.[1,2.3]
元组tuple () 不可以修改 ex. uinfo = ('well,'male',20,'njupt')
----特点:
1.可以进行索引,索引为负数,则从右边开始计数
2.可以使用切片操作符 [m:n]
----基本序列操作:
1. len()
2. + #拼接
3. *n #重复n次
4. in #判断元素是否在序列中
5. max() #返回最大的值
6. min() #返回最小的值
7. cmp(seq1,seq2) #比较2个序列值是否相同
07
列表list:[] ---- 可变的!
----专属操作:
1. list.append #追加一个值 namelist.append('lucy')
2. del #del namelist[1] 删除列表索引为1的元素
3. list.remove #删除第一个匹配性 namelist.remove('well')
-------
tuple(seq) #将序列转换为tuple
list(seq) #将列表转换为list
创建列表:
列表切片:同字符串切片一样
for 和 in :
Range:
#The range(n) function yields the numbers 0, 1, ... n-1,
#and range(a, b) returns a, a+1, ... b-1 -- up to but not including the last number.
while循环:
相关练习:
# E. Given two lists sorted in increasing order, create and return a merged
# list of all the elements in sorted order. You may modify the passed in lists.
# Ideally, the solution should work in "linear" time, making a single
# pass of both lists.
序列:(三种类型)
字符串 不可以修改
列表list [] 可以修改 ex.[1,2.3]
元组tuple () 不可以修改 ex. uinfo = ('well,'male',20,'njupt')
----特点:
1.可以进行索引,索引为负数,则从右边开始计数
2.可以使用切片操作符 [m:n]
----基本序列操作:
1. len()
2. + #拼接
3. *n #重复n次
4. in #判断元素是否在序列中
5. max() #返回最大的值
6. min() #返回最小的值
7. cmp(seq1,seq2) #比较2个序列值是否相同
07
列表list:[] ---- 可变的!
namelist = ['well','tom']nl = namelist ##does not copy the list#Instead, assignment makes the two variables point to the one list in memory.
----专属操作:
1. list.append #追加一个值 namelist.append('lucy')
2. del #del namelist[1] 删除列表索引为1的元素
3. list.remove #删除第一个匹配性 namelist.remove('well')
-------
tuple(seq) #将序列转换为tuple
list(seq) #将列表转换为list
创建列表:
list = [] ## Start as the empty listlist.append('a') ## Use append() to add elementslist.append('b')
列表切片:同字符串切片一样
list = ['a', 'b', 'c', 'd']print list[1:-1] ## ['b', 'c']list[0:2] = 'z' ## replace ['a', 'b'] with ['z']print list ## ['z', 'c', 'd']
for 和 in :
for var in list #遍历一个列表value in collection #测试集合中是否存在一个值
Range:
#The range(n) function yields the numbers 0, 1, ... n-1,
#and range(a, b) returns a, a+1, ... b-1 -- up to but not including the last number.
while循环:
List常用方法:
list.append(elem) #-- adds a single element to the end of the list. Common error: does not return the new list, just modifies the original.list.insert(index, elem) #-- inserts the element at the given index, shifting elements to the right.list.extend(list2) #adds the elements in list2 to the end of the list. Using + or += on a list is similar to using extend().list.index(elem) -- #searches for the given element from the start of the list and returns its index. Throws a ValueError if the element does not appear (use "in" to check without a ValueError).list.remove(elem) -- #searches for the first instance of the given element and removes it (throws ValueError if not present)list.sort() -- #sorts the list in place (does not return it). (The sorted() function shown below is preferred.)list.reverse() -- #reverses the list in place (does not return it)list.pop(index) -- #removes and returns the element at the given index. Returns the rightmost element if index is omitted (roughly the opposite of append()).
相关练习:
# C. sort_last
# Given a list of non-empty tuples, return a list sorted in increasing
# order by the last element in each tuple.
# e.g. [(1, 7), (1, 3), (3, 4, 5), (2, 2)] yields
# [(2, 2), (1, 3), (3, 4, 5), (1, 7)]
# Hint: use a custom key= function to extract the last element form each tuple.
def last(a): return a[-1]def sort_last(tuples): # +++your code here+++ return sorted(tuples,key=last)
# E. Given two lists sorted in increasing order, create and return a merged
# list of all the elements in sorted order. You may modify the passed in lists.
# Ideally, the solution should work in "linear" time, making a single
# pass of both lists.
def linear_merge(list1, list2): # +++your code here+++ # LAB(begin solution) result = [] # Look at the two lists so long as both are non-empty. # Take whichever element [0] is smaller. while len(list1) and len(list2):if list1[0] < list2[0]: result.append(list1.pop(0))else: result.append(list2.pop(0)) # Now tack on what's left result.extend(list1) result.extend(list2) return result
0 0
- Python快速入门(3)列表、练习题
- Python快速入门(2)练习题
- python快速入门(列表推导式)
- Python快速入门(5)-列表与字典推导式
- python 入门-练习题
- python 3 快速入门
- python快速入门(3)循环结构
- python初学者快速入门(四)列表和元组、字典
- Python快速入门(4)-列表、元组、字典、集合的使用
- python快速入门(一)
- **Python快速入门(一)**
- Python 快速入门(二)
- python练习题(3)_捕捉异常
- Python入门(01) -- 列表简介
- Python入门(02) -- 列表操作
- Python练习题3
- Python练习题(3)
- python练习题 3 计时器
- 一个以可视化界面的方式管理与调度Hadoop的作业平台——Zeus
- 待了解和所爱的
- SGI STL内存配置器Allocator
- 浅谈排序算法学习之基数排序,又称桶子排序(二)
- ZOJ-2680
- Python快速入门(3)列表、练习题
- Codeforce 373 D Counting Rectangles is Fun (统计全0子矩阵)
- 美国人姓名的组成
- 2014 年 TOP 10 的 PHP 框架
- 表白神器(画笔+计算坐标+处理触摸事件)
- java core unit6读后感
- 最牛B的编码套路
- UCGUI 模拟器分析
- Python快速入门(4)排序、字典、文件