1、HJ9 提取不重复的整数join()方法set()集合sort() 函数 Python
题目描述:
描述
输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是 0 。
数据范围: 1 \le n \le 10^{8} \1≤n≤108
输入描述:
输入一个 int 型整数。
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
示例1
输入:9876673 输出:37689
思路解析:
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
首先进行输入字符串反转,然后进行去重,并转换为列表(有索引)。
集合(set)是一个无序的不重复元素序列。
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
语法:list.sort( key=None, reverse=False) 升序
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq ))
print (s2.join( seq ))
输出结果:
r-u-n-o-o-b
runoob
代码实现:
a = list(input()[::-1])
b = list(set(a))
b.sort(key=a.index)
print(''.join(b))
2、HJ14 字符串排序 Python
题目描述:
描述
给定 n 个字符串,请对 n 个字符串按照字典序排列。
数据范围: 1 \le n \le 1000 \1≤n≤1000 ,字符串长度满足 1 \le len \le 100 \1≤len≤100
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:数据输出n行,输出结果为按照字典序排列的字符串。
示例1
输入:9 输出:boat
cap boot
to cap
cat card
card cat
two to
too too
up two
boat up
boot
思路解析:
利用 sort() 和 join()。
代码实现:
# 法一
num = int(input())
stack = []
for i in range(num):
stack.append(input())
print('\n'.join(sorted(stack)))
# 法二
num = int(input())
stack = []
for i in range(num):
stack.append(input())
stack.sort()
print('\n'.join(stack))