how to

输出为 {1, 2},已经自动排序

Feb 5, 2024
langspythontutorials
4 Minutes
783 Words

1. 函数 def func():

语法

1
def func(r): # 函数名为 func,这是自定义的
2
PI = 3.1415926
3
return r * PI * PI # 函数需要一个返回值,用 return

函数可以被多次利用,就像 len() 函数用来求列表长度一样。

例题 1

  • 写一个函数,求半径为 r 的圆的面积。
1
def S(r): # 求半径为 r 的圆的面积
2
PI = 3.1415926
3
return r * PI * PI
4
print(S(5)) # 输出 49.3480203218738

例题 2

  • 判断一个整数是否是偶数,如果是,返回 True
1
def even(n):
2
if n % 2 == 0:
3
return True
4
return False # 可以按条件写多条 return 语句

2. 集合 set()

语法

集合可以用来存数据。它和 list 相似,不同的是 set 中数据自动排序,而且不会重复出现。

1
s = set()
2
s.add(2)
3
s.add(2) # 添加元素,但如果已存在就什么都不做
4
s.add(1)
5
print(s)
6
# 输出为 {1, 2},已经自动排序
7
8
s.remove(1) # 删除元素,如果元素不存在,则会发生错误
9
print(s)
10
# 输出为 {2}
11
12
s.clear() # 清空元素
13
14
print(2 in s) # 判断元素是否在集合中存在,输出为 False

你还可以这样创建一个 set

1
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
2
print(basket)
3
# 输出为 {'orange', 'banana', 'pear', 'apple'}

注意:basket = {} 这种写法创建的是一个空的字典,不是一个空的集合。创建空集合应该使用 basket = set()

例题 1

  • 输入 $n$ 个数,去掉其中重复的数并从小到大输出,最后输出去重后还剩几个数。
1
n = int(input())
2
s = set(map(int, input().split())) # 将读入的一行数转换为 set
3
print(*s) # 输出 s 中的所有数字
4
print(len(s))

详细介绍

https://www.runoob.com/python3/python3-set.html

3. 字典 dict()

default

语法

1
# 创建字典
2
d1 = { 'abc': 456 }
3
d2 = { 'abc': 123, 98.6: 37 }
4
5
# 获取字典中对应 key 的值
6
print(d1['abc']) # 456
7
print(d2[98.6]) # 37
8
9
# 修改字典
10
d1['abc'] = 123
11
print(d1['abc']) # 123
12
13
# 删除字典元素
14
del d1['abc'] # 删除一个键
15
d2.clear() # 清空字典

例题 1

https://blog.csdn.net/wc19862274581/article/details/124285529

问题描述:

输入字符串,输出字符串中出现次数最多的字母及其出现次数。如果有多个字母出现次数一样,则按字符从小到大顺序输出字母及其出现次数。

输入形式:

一个字符串。

输出形式:

出现次数最多的字母以及其出现次数。

样例输入:

1
abcccd

样例输出:

1
c 3

代码实现:

1
s = input()
2
ma = {}
3
for c in s:
4
if c not in ma: # 如果这个字母没有出现过就初始化为 1
5
ma[c] = 1
6
else: # 否则加 1
7
ma[c] += 1
8
9
ans = max(ma.values()) # ma.values() 获取所有的值
10
# items() 获取所有的键值对,用 sorted() 进行排序后重新用 dict() 重新组成一个有序字典 。这种排序是优先按键排序,其次按值排序
11
ma = dict(sorted(ma.items()))
12
for c, cnt in ma.items():
13
if cnt == ans:
14
print(c, cnt)

4. 排序 .sort() sorted()

ref: https://www.freecodecamp.org/chinese/news/python-sort-how-to-sort-a-list-in-python/

1
a = [2, 1, 3]
2
b = sorted(a) # 不改变 a
3
a.sort() # 改变 a
4
a.sort(reverse=True)
5
6
# 按特定函数排序
7
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
8
programming_languages.sort(key=len)
9
programming_languages.sort(key=len, reverse=True)
10
11
# 按自定义函数排序
12
programming_languages = [{'language':'Python','year':1991},
13
{'language':'Swift','year':2014},
14
{'language':'Java', 'year':1995},
15
{'language':'C++','year':1985},
9 collapsed lines
16
{'language':'Go','year':2007},
17
{'language':'Rust','year':2010},
18
]
19
20
def get_year(element):
21
return element['year']
22
23
programming_languages.sort(key=get_year)
24
programming_languages.sort(key=get_year, reverse=True)
Article title:输出为 {1, 2},已经自动排序
Article author:Julyfun
Release time:Feb 5, 2024
Copyright 2025
Sitemap