|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Nicole37 于 2023-11-18 11:46 编辑
序列相关的函数:
1、列表、元祖、字符串相互转换:list():转换成列表. tuple():转换成元祖. str():字符串
- #list:将可迭代序列转换成列表
- list("i love you")
- ['i', ' ', 'l', 'o', 'v', 'e', ' ', 'y', 'o', 'u']
- list((1,3,4))#将元祖转换成列表
- [1, 3, 4]
- #touple将可迭代对象转换成元祖
- tuple("djsids")
- ('d', 'j', 's', 'i', 'd', 's')
- #str 将可迭代对象转换成字符串
- str((1,2,3))
- '(1, 2, 3)'
- str(["h","w"])
- "['h', 'w']"
复制代码
2、min()和max()对比传入的参数,返回最大值和最小值
- s=[1,2,3]
- min(s)
- 1
- max(s)
- 3
- a="dsefew"
- min(a)
- 'd'
- max(a) #字符串比较的是子母的编码值
- 'w'
- #若比较的对象是空,可以设置default参数
- min([],default="what?")
- 'what?'
- max([],default="what?")
- 'what?'
- #两种用法,传入可迭代对象/传入多个参数
- min(5,3,4,7)
- 3
复制代码
3、len() & sum() len()求长度,有一定的最大范围要求,sum()求和
- b = [1,0,2,5,4,3]
- sum(b)
- 15
- #参数start 用来制定计算加数的起始值
- sum(s,start=30)
- 36
- sum(b,start=30)
- 45
复制代码
4、sorted():从小到大排序,返回新列表,不影响之前的列表值,支持reverse参数,key参数;用reversed将可迭代对象反转
- sorted(b)
- [0, 1, 2, 3, 4, 5]
- sorted(b,reverse=True) #从大到小
- [5, 4, 3, 2, 1, 0]
- b
- [1, 0, 2, 5, 4, 3]
- #key参数
- h=["what","the","hell","are","you","doing"]
- sorted(h)#对字符串列表排序:排序每个字符串的首字母编码值的大小,若相等,则继续对比二者的第二个字母的编码大小
- ['are', 'doing', 'hell', 'the', 'what', 'you']
- sorted(h,key=len)
- ['the', 'are', 'you', 'what', 'hell', 'doing']
- #key参数指定干预排序的函数名,key=len:比较每个字符串的长度,sort也可用key
- #sort函数仅适用于列表比大小,sorted适用于所有可迭代对象
- sorted((1,9,3,5))
- [1, 3, 5, 9]
- sorted("ikjhden")
- ['d', 'e', 'h', 'i', 'j', 'k', 'n']
- #列表有reverse方法,可迭代对象有reversed,返回反向迭代器
- reversed(b)
- <list_reverseiterator object at 0x1059c9930>
- list(reversed(b))
- [3, 4, 5, 2, 0, 1]
- b.reverse()
- b
- [3, 4, 5, 2, 0, 1]
- #用reversed将可迭代对象反转
- list(reversed("isjauh"))
- ['h', 'u', 'a', 'j', 's', 'i']
- list(reversed((1,2,4,3,1)))
- [1, 3, 4, 2, 1]
- list(reversed(range(1,5)))
- [4, 3, 2, 1]
复制代码
作业:
0:给定一个整数列表,请编程来调整该列表中整数的顺序,使得所有奇数排好序后放在数组的前半部分,所有偶数排好序后放在数组的后半部分
- a=[1, 8, 7, 3, 6, 5, 4, 2]
- b=[] #存放偶数
- c=[] #存放奇数
- d=[] #存放最终结果
- for i in a:
- if i%2==0:
- b.append(i)
- else:
- c.append(i)
- b.sort()
- c.sort()
- d=c+b
- print(d)
复制代码
1. 翻转单词顺序。
用户输入一个英文句子,请编程翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。
例如输入字符串是 "I love FishC.",则输出 "FishC. love I"。
注意1:用户输入的字符串可能会在前面或者后面包含任意数量的空格,但是反转后的结果将会去除这些空格(例如输入字符串是 " I love FishC. ",结果依然输出 "FishC. love I")。
注意2:用户输入的字符串中,单词之间可能不止一个空格,但是反转后的结果将统一使用一个空格作为单词之间的间隔(例如输入字符串是 "I love FishC.",结果依然输出 "FishC. love I")
- #用split() 来筛掉空格
- a=input("请输入英文句子:")
- b=a.split() #空格为间隔,只保留字母字符串
- c=list(reversed(b))#反转操作
- print(' '.join(c)) #空格隔开,转为字符串
复制代码
作业答案:
0:列表的 sort() 方法和 sorted() 函数有哪些异同点:
相同:
默认都是从小到大正向排序来自
都支持 key 和 reverse 两个参数
排序的结果可都是列表
都是稳定排序(就是说如果存在多个相同的元素,经过排序之后,这些元素的相对次序保持不变
不同:
一个是列表的方法;一个是独立的函数
一个叫 sort();一个叫 sorted()
列表的 sort() 方法是原地排序;sorted() 函数是讲排序后的结果返回为一个新的列表
列表的 sort() 方法只能对列表的元素进行排序;sorted() 函数则可以对任何形式的可迭代对象进行排序
列表的 sort() 方法返回值是 None;sorted() 函数返回一个新列表
1:
- >>> sorted(["PPAP", "ppap", "Ppap", "PPaP"])
- ['PPAP', 'PPaP', 'Ppap', 'ppap']
复制代码
没写成列表的形式要自觉扣 1 分噢(因为 sorted() 函数排序后的返回结果总是列表,嘿嘿~),字符串比较记注三个原则就行 —— 26个字母顺序不变;大写字母在小写字母之前;如果第一个字母相同,就比较第二个字母,以此类推
2:
- >>> max("FishC") and min("FishC")
- 'C'
复制代码
max("FishC") 会得到 's',min("FishC") 会得到 'C', and两边都是数字/字母 true时,返回决定值的那个,即最后值
3.reversed() 函数返回的是一个反向迭代器,它并不支持下表索引的方式获取其中的某个元素
4.去除空格 str.strip() :去除字符串两边的空格 str.lstrip() : 去除字符串左边的空格 str.rstrip() : 去除字符串右边的空格 |
|