['F', 'i', 's', 'h', 'C']
>>> list(1,2,3,4,5)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
list(1,2,3,4,5)
TypeError: list expected at most 1 argument, got 5
>>> list((1,2,3,4,5))
>>> tuple("FishC")
('F', 'i', 's', 'h', 'C')
>>> tuple()
(1, 2, 3, 4, 5)
>>> str()
''
>>> str((1,2,3,4,5))
'(1, 2, 3, 4, 5)'
>>> [" list()可将字符串、元组转变为列表,tuple()可将列表,字符串转变为元组,str()可将列表、元组转变为字符串"]
[' list()可将字符串、元组转变为列表,tuple()可将列表,字符串转变为元组,str()可将列表、元组转变为字符串']
>>> s =
>>> min(s)
1
>>> max(s)
5
>>> t = "FishC"
>>> min(t)
'C'
>>> max(t)
's'
>>> ["min(),max()分别可以求得序列中的最小值和最大值,如果是字符串,那么求得的是编码最小和最大的值,编码顺序即为26个字母顺序,并且大写字母编码在小写字母编码之前"]
['min(),max()分别可以求得序列中的最小值和最大值,如果是字符串,那么求得的是编码最小和最大的值,编码顺序即为26个字母顺序,并且大写字母编码在小写字母编码之前']
>>> s = []
>>> min(s)
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
min(s)
ValueError: min() arg is an empty sequence
>>> min(s,default = "屁,啥都没有,怎么找到最小")
'屁,啥都没有,怎么找到最小'
>>> ["当可迭代对象为空时,此时直接求 min 、max 会出现报错,此时设置一个 default,即默认值,可以缓解气氛"]
['当可迭代对象为空时,此时直接求 min 、max 会出现报错,此时设置一个 default,即默认值,可以缓解气氛']
>>>
>>> min(1,2,3,0,6)
0
>>> max(1,2,3,0,6)
6
>>> len(range(2 ** 100))
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
len(range(2 ** 100))
OverflowError: Python int too large to convert to C ssize_t
>>> ["len() 函数求长度,其有极限值"]
['len() 函数求长度,其有极限值']
>>> s =
>>> sum(s)
9
>>> sum(s,start = 100)
109
>>> s =
>>> sorted(s)
>>> ["sorted() 函数返回的是一个全新的列表,而原来的列表不会受影响"]
['sorted() 函数返回的是一个全新的列表,而原来的列表不会受影响']
>>> s
>>> s.sort()
>>> s
>>> ["如果使用 s.sort() 方法,s 本身就会被改变,切记!!!"]
['如果使用 s.sort() 方法,s 本身就会被改变,切记!!!']
>>> sorted(s,reverse = True)
>>> t = ["FishC","Apple","Book","Banana","Pen"]
>>> sort(t)
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
sort(t)
NameError: name 'sort' is not defined
>>> sorted(t)
['Apple', 'Banana', 'Book', 'FishC', 'Pen']
>>> sorted(t, key = len)
['Pen', 'Book', 'FishC', 'Apple', 'Banana']
>>> t.sort(key = len )
>>> t
['Pen', 'Book', 'FishC', 'Apple', 'Banana']
>>> ["使用 sorted() 对字符串进行排序时,先以每一字符串的首字母编码进行排序,如果首字母一样,再依次按照下一位字符串进行排序; 而 sorted(t,key = len) 中的 key 实际上是一个干预函数,他让排序方式按照字符串的长度来决定,对于列表中的字符串排序,我们可以使用 t.sort(key = len )来达到相同的结果"]
['使用 sorted() 对字符串进行排序时,先以每一字符串的首字母编码进行排序,如果首字母一样,再依次按照下一位字符串进行排序; 而 sorted(t,key = len) 中的 key 实际上是一个干预函数,他让排序方式按照字符串的长度来决定,对于列表中的字符串排序,我们可以使用 t.sort(key = len )来达到相同的结果']
>>> sorted("FishC")
['C', 'F', 'h', 'i', 's']
>>> sorted((1,0,0,8,6))
>>> ["sorted() 排序字符串、元组得到的是列表"]
['sorted() 排序字符串、元组得到的是列表']
>>> s =
>>> reversed(s)
<list_reverseiterator object at 0x00000257D3BC3A60>
>>> list(reversed(s))
>>> s.reverse()
>>> ["reversed() 函数生成的是一个 迭代器, 即也是一个可迭代对象,它可以对 列表、字符串、元组进行逆向排序"]
['reversed() 函数生成的是一个 迭代器, 即也是一个可迭代对象,它可以对 列表、字符串、元组进行逆向排序']
>>> list(reversed("FishC"))
['C', 'h', 's', 'i', 'F']
>>> lies(reversed((1,2,3,4,5)))
Traceback (most recent call last):
File "<pyshell#51>", line 1, in <module>
lies(reversed((1,2,3,4,5)))
NameError: name 'lies' is not defined
>>> list(reversed((1,0,0,8,6)))
>>> list(reversed(range(0,10)))
>>> 为什么sorted(t, key=len) 中FishC 会排 在 Apple的前边呢,因为 FishC长度更长么 打卡 生活好难编程好难 动动手:0
l=
a=[]
b=[]
l.sort()
for i in l:
ifi %2==1:
a.append(i)
else:
b.append(i)
print(a+b) 本帖最后由 剪刀布稀里糊涂 于 2022-6-27 15:16 编辑
leizhenzi23 发表于 2022-3-30 17:37
为什么sorted(t, key=len) 中FishC 会排 在 Apple的前边呢,因为 FishC长度更长么
楼主知道为什么了吗? list('ctx')
['c', 't', 'x']
list((1,2,3))
tuple('ctx')
('c', 't', 'x')
tuple((1,2,3))
(1, 2, 3)
tuple()
(1, 2, 3)
str()
''
str((1,3))
'(1, 3)'
s=
min(s)
1
t='ctx'
max(t)
'x'
t='Cc'
max(t)
'c'
s=[]
max(s)
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
max(s)
ValueError: max() arg is an empty sequence
min(s,'sdfds')
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
min(s,'sdfds')
TypeError: '<' not supported between instances of 'str' and 'list'
min(s,default='sdfds')
'sdfds'
len(range(2**333))
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
len(range(2**333))
OverflowError: Python int too large to convert to C ssize_t
s=
sum(s)
8
sum(s,start=13)
21
s=
sorted(s)
s
s.sort()
s
s=
sorted(s,reverse=True)
s=
sorted(s,reverse=False)
a=['ads','fgh','ervx','Ervx','ERvx']
sorted(a)
['ERvx', 'Ervx', 'ads', 'ervx', 'fgh']
sorted(a,len(s))
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
sorted(a,len(s))
TypeError: sorted expected 1 argument, got 2
sorted(a,key=len)
['ads', 'fgh', 'ervx', 'Ervx', 'ERvx']
sorted('Ctx')
['C', 't', 'x']
sorted('zqy')
['q', 'y', 'z']
sorted(1,0,0,8,6)
Traceback (most recent call last):
File "<pyshell#40>", line 1, in <module>
sorted(1,0,0,8,6)
TypeError: sorted expected 1 argument, got 5
sorted((1,0,0,8,6))
s=
reversed(s)
<list_reverseiterator object at 0x103861720>
list(reversed(s))
s.reverse()
s
list(reversed("FishC"))
['C', 'h', 's', 'i', 'F']
tuple(reversed("FishC"))
('C', 'h', 's', 'i', 'F')
list(reversed((1, 2, 5, 9, 3)))
tuple(reversed((1, 2, 5, 9, 3)))
(3, 9, 5, 2, 1)
list(reversed(range(0, 10)))
tuple(reversed(range(0, 10)))
(9, 8, 7, 6, 5, 4, 3, 2, 1, 0) 0.
s =
a = sorted(s)
res = []
for i in a:
if i % 2 == 1:
res.append(i)
for j in a:
if j % 2 == 0:
res.append(j)
print(res)
1.
s = input("请输入英文:")
a = list(reversed(s.split()))
print(" ".join(a))
leizhenzi23 发表于 2022-3-30 17:37
为什么sorted(t, key=len) 中FishC 会排 在 Apple的前边呢,因为 FishC长度更长么
t1=["FishC","Apple","Book","Banana","Pen"]
sorted(t,key=len)
['Pen', 'Book', 'FishC', 'Apple', 'Banana']
t2=["Apple","Book","Banana","Pen","FishC"]
sorted(t,key=len)
['Pen', 'Book', 'Apple', 'FishC', 'Banana']
你对比一下就知道答案了,很简单 学习打卡{:10_257:} leizhenzi23 发表于 2022-3-30 17:37
为什么sorted(t, key=len) 中FishC 会排 在 Apple的前边呢,因为 FishC长度更长么
这两个是一样长的,但他是稳定。
<sorted() 函数的排序结果是稳定的。
假定在待排序的序列中,存在多个相同的元素,经过排序之后,这些元素的相对次序保持不变,则称这种排序算法是稳定的;否则称为不稳定的。>
所以在key = len时,两个字符串一样长的话,会保持原来的相对次序。
好难了 len(range(2**63-1))
Traceback (most recent call last):
File "<pyshell#90>", line 1, in <module>
len(range(2**63-1))
OverflowError: Python int too large to convert to C ssize_t
我的电脑是64位,但是它报错了,这是为啥一,我还试了2的六十二次方、2的四十、2的三十二等等,都报错。查看了电脑,显示的是64位,是不是因为使用的Python版本的问题,我用的是3.7.3
但是输入2的三十一次方减1,就是对的。
>>> len(range(2**31-1))
2147483647
我的电脑显示的系统类型是64 位操作系统, 基于 x64 的处理器。
遇到的第二个问题是
s =
>>> sum(s)
15
>>> sum(s,start=100)
Traceback (most recent call last):
File "<pyshell#101>", line 1, in <module>
sum(s,start=100)
TypeError: sum() takes no keyword arguments
它的结果不是115,结果报错了。想知道是什么原因然后怎么解决?
好像解决了:
>>> i =
>>> sum(i,5)
10
后面不写start,直接写要加多少等等。
滴滴滴~打卡{:10_298:} s =
sum(s)
15
sum(s,start=100)
115
sum(s,100)
115
我的都可以. 非常感谢大家的支持{:10_256:}{:10_256:}{:10_256:}{:10_279:} 打卡打卡 我的3.7.4版本不识别sum(s,start=10)中的start=10 {:10_247:}
页:
[1]
2