python:学习笔记

文章目录

  • python学习笔记
    • 1、list.sort()
    • 2、sorted()
    • 3、TypeError: can only assign an iterable
    • 4、字典按键、值排列

python学习笔记

1、list.sort()

list.sort(cmp=None, key=None, reverse=False)

cmp – 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。

>>aList = [123, 'Google', 'Runoob', 'Taobao', 'Facebook'];
>>aList.sort();
>>print("List : ", aList)
  List :  [123, 'Facebook', 'Google', 'Runoob', 'Taobao']

>># 列表
>>vowels = ['e', 'a', 'u', 'o', 'i']
# 降序
>>vowels.sort(reverse=True)
# 输出结果
>>print ('降序输出:', vowels)
  降序输出: ['u', 'o', 'i', 'e', 'a']

# 获取列表的第二个元素
>>def takeSecond(elem):
    return elem[1]
# 列表
>>random = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 指定第二个元素排序
>>random.sort(key=takeSecond)
#输出类别
>>print ('排序列表:', random)
  排序列表:[(4, 1), (2, 2), (1, 3), (3, 4)]

2、sorted()

3、TypeError: can only assign an iterable

在python中,使用List[0:2] = ‘z’,不会产生任何的错误,就是让这List左起第0,1两个元素赋值为‘z’一个元素;这是因为String字符串本身在python里就是一个字符数组,是可以进行迭代操作的。

而List[0:2] = 1中,就会产生错误:TypeError: can only assign an iterable

这是因为整型1,不具有迭代能力,它就是一个值而已。因此未来达到目的,应该写成List[0:2] = (1,)就OK了。

4、字典按键、值排列

d={"ok":1,"no":2}
#对字典按键排序,用元组列表的形式返回
d1 = sorted(d.items(), key=lambda d:d[0],reverse = False) #[('no', 2), ('ok', 1)]
#对字典按值排序,用元组列表的形式返回
d2 = sorted(d.items(), key=lambda d:d[1],reverse = True) #[('ok', 1), ('no', 2)]

注意:返回的是一个list,python3中可以dict(d1),将其转换成原来的dict格式

你可能感兴趣的:(编程,python)