文章目录
- 知识点详解
- 1、input():获取控制台(任意形式)的输入。输出均为字符串类型。
- 2、print() :打印输出。
- 3、int() :将一个字符串或数字转换为整型(强转)。
- 4、range() :输出指定范围内的所有值(前闭后开)。
- 5、list.append() :向列表末尾添加任意类型元素。
- 6、sorted() :对所有可迭代类型进行排序。不改变原始序列,返回排序后的新序列。
描述:给定 n 个字符串,请对 n 个字符串按照字典序排列。
数据范围:1 ≤ n ≤ 1000 ,字符串长度满足 1 ≤ len ≤ 100
输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:数据输出n行,输出结果为按照字典序排列的字符串。
示例1
输入:
9
cap
to
cat
card
two
too
up
boat
boot
输出:
boat
boot
cap
card
cat
to
too
two
up
Python3
num = int(input())
temp = []
for ii in range(num):
temp.append(input())
for jj in sorted(temp):
print(jj)
- input():获取控制台(任意形式)的输入。输出均为字符串类型。
- int() :将一个字符串或数字转换为整型(强转)。
- range() :输出指定范围内的所有值(前闭后开)。
- list.append() :向列表末尾添加任意类型元素。
- sorted() :对所有可迭代类型进行排序。不改变原始序列,返回排序后的新序列。
- print() :打印输出。
知识点详解
1、input():获取控制台(任意形式)的输入。输出均为字符串类型。
【Python】input()函数用法小结
备注:输入可以是任意形式,不限制数据类型。
备注:无论输入是什么,输出都是字符串类型。
print('整型: ', input())
##########################
str1 = input()
print('任意形式: ', str1)
print(type(str1))
'''
123
整型: 123
asd123!@#
任意形式: asd123!@#
<class 'str'>
'''
2、print() :打印输出。
【Python】print()函数的用法
3、int() :将一个字符串或数字转换为整型(强转)。
【Python】int()用法详解
函数说明:
int(x, base=10)
输入参数:
x
:字符串或数字。base
:参数x为(二进制、八进制、十进制、十六进制)数,默认十进制数
。
备注:若带参数base,则输入必须是整数,且整数必须以字符串的形式进行输入。如:整数12转化为16进制,int('12', base=16)
10进制转化为16进制的算法
输入 | 返回值 |
---|---|
int() | 整数 0 |
int(整数) | 整数 |
int(浮点数) | 浮点数的整数 |
int(字符串(整数)) | 将字符串类型转换为int类型转换 |
int(字符串(浮点数)) | 需先转换为float类型,再进行int转换,否则报错。 |
– | – |
int('整数', base=16) | 将输入的16进制整数转换为10进制整数(同理:其余进制) |
print(int()) # 【输出结果】0
print(int(2)) # 【输出结果】2
print(int(-2.9)) # 【输出结果】-2
print(int('-2')) # 【输出结果】-2
print(int(float('-2.9'))) # 【输出结果】-2
print(int('20', 16)) # 【输出结果】32
print(int('0XAA', 16)) # 【输出结果】170
4、range() :输出指定范围内的所有值(前闭后开)。
函数说明:
range(start=0,stop,step=1)
输入参数:
- start:序列的起始点,默认值0。
- stop:序列的终止点。
- step:滑动步长,默认为1。正数表示迭代上升,负数表示迭代下降。
备注:前闭后开[A,B),即可以取到A值,但取不到B值。
# (1)指定stop=9, start默认为0,step默认为1
for i in range(9):
print('A =', i)
'''
A = 0
A = 1
A = 2
A = 3
A = 4
A = 5
A = 6
A = 7
A = 8
'''
# (2)指定start=2, stop=9, step默认为1
for i in range(2, 9):
print('B =', i)
'''
B = 2
B = 3
B = 4
B = 5
B = 6
B = 7
B = 8
'''
# (3)指定start=2, stop=9, step=-2
for i in range(9, 2, -2):
print('C =', i)
'''
C = 9
C = 7
C = 5
C = 3
'''
5、list.append() :向列表末尾添加任意类型元素。
函数说明:
list.append( element )
输入参数:
element
:任何类型的元素。注意1:只能向列表末尾添加元素,而不是任意位置。
注意2:将列表A添加到列表B,添加的是 “引用地址” 而不是内容本身,故当被列表A发生变化时,添加后的列表B也会同步发生变化。 解决方法:深拷贝copy.deepcopy(list(A))
后进行添加。
import copy
:导入模块
浅拷贝copy.copy(list(A))
:拷贝这个对象的引用地址
深拷贝copy.deepcopy(list(A))
:拷贝对象的内容。
# (1)添加任意类型元素
list1 = ['A', 'B', 2]
list1 .append({'key': 1})
print(list1)
############################################################
# (2)列表同步:若添加的列表A发生改变,被添加的列表B同步改变。
list2 = ['A', 'B', 2]
list22 = [1, 3]
list2.append(list22)
print(list2)
list22.append('Z')
print(list2)
############################################################
# (2)深拷贝:若添加的列表A发生改变,被添加的列表B不会改变。
import copy
list3 = ['A', 'B', 2]
list33 = [1, 3]
list3.append(copy.deepcopy(list33))
print(list3)
list33.append('Z')
print(list3)
'''
['A', 'B', 2, {'key': 1}]
['A', 'B', 2, [1, 3]]
['A', 'B', 2, [1, 3, 'Z']]
['A', 'B', 2, [1, 3]]
['A', 'B', 2, [1, 3]]
'''
6、sorted() :对所有可迭代类型进行排序。不改变原始序列,返回排序后的新序列。
函数说明:
sorted(iterable, key=None, reverse=False)
输入参数:
- `iterable:可迭代的对象(如:字典、列表)。
key
:可迭代类型中某个属性,对指定函数进行排序。默认=None
- reverse:
升序reverse=False(默认)
或降序reverse=Ture
。备注:字符串按照ASCII的大小进行排序。默认先排序大写字母,后排序小写字母。
lst1 = (5, 4, 3, -2, 1)
L1 = sorted(lst1) # 【输出结果】[-2, 1, 3, 4, 5]
L2 = sorted(lst1, key=abs) # 【输出结果】[1, -2, 3, 4, 5]
L3 = sorted(lst1, reverse=True) # 【输出结果】[5, 4, 3, 1, -2]
print(L1)
print(L2)
print(L3)
###################################################################################
lst2 = ('F', 'D', 'Y', 'e', 'a', 'v')
L4 = sorted(lst2) # 【输出结果】['D', 'F', 'Y', 'a', 'e', 'v']
L5 = sorted(lst2, key=str.lower) # 【输出结果】['a', 'D', 'e', 'F', 'v', 'Y']
print(L4)
print(L5)