python 知识点积累《1-6》

采用一问一答的方式,问题为平时遇到的,解答主要来自百度AI智能回答。

1、Python字典的键有什么要求

1)必须是不可变的,可以是整数、浮点数、字符串、元组,但是列表、字典、集合不能作为键,因为它们是可变的。

2)不允许重复的,如果你尝试添加两个相同的键,后面的键值对会覆盖前面的。

2、python字典键值排序

1)使用内置的sorted()函数对字典的键或值进行排序。

a.根据键排序,可以对字典的.items()进行排序,然后再将其转换回字典。

b.根据值排序,可以先将字典的项转换为一个列表,然后使用sorted()函数,并通过指定key参数来进行值排序,最后再将排序后的列表转换回字典。

# 根据键排序字典
original_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_by_key = dict(sorted(original_dict.items()))
print(sorted_by_key)  # 输出: {'apple': 4, 'banana': 3, 'orange': 2, 'pear': 1}
 
# 根据值排序字典
sorted_by_value = {k: v for k, v in sorted(original_dict.items(), key=lambda item: item[1])}
print(sorted_by_value)  # 输出: {'pear': 1, 'orange': 2, 'banana': 3, 'apple': 4}

3、python字符串使用单引号还是双引号

1)在Python中,使用单引号(')或双引号(")创建字符串没有本质区别。它们可以互换使用,你可以在字符串中自由地混合单引号和双引号,而不会引起语法错误。

2)如果字符串中包含单引号且你想要使用单引号来定义字符串,或者字符串中包含双引号且你想要使用双引号来定义字符串,你可以使用转义字符()来避免语法错误。

# 字符串中包含单引号
str5 = 'O\'Reilly'
 
# 字符串中包含双引号
str6 = "He said, \"Hello, World!\""

3)在定义字符串时,如果字符串中包含大量文本或者包含很多需要转义的字符,使用三引号('''或"")也是一个不错的选择,可以避免使用过多的转义字符。

# 使用三单引号创建多行字符串
str7 = '''This is a multi-line
string using single quotes.'''
 
# 使用三双引号创建多行字符串
str8 = """And this is a multi-line
string using double quotes."""

4、python字符串与列表的相互转换

1)将字符串转换为列表:

s = "hello"
list_from_s = list(s)
print(list_from_s)  # 输出: ['h', 'e', 'l', 'l', 'o']

2)将列表转换为字符串:

list_to_s = ['h', 'e', 'l', 'l', 'o']
s_from_list = ''.join(list_to_s)
print(s_from_list)  # 输出: hello

5、python中chr和ord函数的用法

1)chr函数‌用于将一个整数转换为其对应的‌Unicode字符。这个整数应该在范围0到1114111之间(十六进制表示为0x10FFFF),超出该范围会引发ValueError异常。例如,chr(65)会返回字符'A'。

2‌)ord函数‌用于将一个字符转换为其对应的Unicode码点。如果传入的参数不是有效的Unicode字符,会引发TypeError异常。例如,ord('A')会返回整数65。

6、python多维列表的排序

在Python中,可以使用内置的sorted()函数或者列表的sort()方法来对多维列表进行排序。

举例:

1)根据子列表的第一个元素对多维列表进行排序。

# 原始多维列表
original_list = [[3, 2, 3], [1, 4, 2], [2, 1, 3]]
 
# 使用sorted函数排序
sorted_list = sorted(original_list, key=lambda x: x[0])
 
# 使用列表的sort方法排序
original_list.sort(key=lambda x: x[0])
 
# 输出结果
print("使用sorted函数排序后的列表:", sorted_list)
print("使用列表的sort方法排序后的列表:", original_list)

在这个例子中,lambda x: x[0]是一个匿名函数,用于指定排序的依据是子列表的第一个元素。sorted()函数返回一个新的排序后的列表,而sort()方法则直接对原列表进行排序。

2)根据多个条件进行排序,可以在key参数中嵌套多个函数或者使用itemgetter方法(需要从operator模块导入)。

from operator import itemgetter

# 原始多维列表
original_list = [[3, 2, 3], [1, 4, 2], [2, 1, 3]]

# 根据第一个和第二个元素进行排序
sorted_list = sorted(original_list, key=itemgetter(0, 1))

sorted_list = sorted(original_list, key=lambda x: [x[0], x[1]])  #
# 输出结果
print("根据第一个和第二个元素进行排序后的列表:", sorted_list)  # [[1, 4, 2], [2, 1, 3], [3, 2, 3]]

在这个例子中,itemgetter(0, 1)用于指定首先根据子列表的第一个元素排序,如果相同则根据第二个元素排序。

续:

python 知识点积累《7-》-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值