任何人都可以解释以下我试图找出的代码。
order = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1357902468'
print(*sorted(input(), key=order.index), sep='')
*的作用是什么?这段代码如何排列给定字符串的顺序?
答案 0 :(得分:1)
列表前的星号会解开列表。 假设您有一个这样的列表:
lst = ['string1', 'string2', 'string3']
,然后要打印它。但是将其打印为列表将输出:
print(lst)
# ['string1', 'string2', 'string3']
如果要输出不带括号的内容,则可以尝试以下操作:
print(lst[0], lst[1], lst[2])
这不是一个优雅的解决方案,对吗?这意味着您希望将字符串列表转换为“字符串内容”,您可以将其作为打印参数传递。这就是列表解压缩的作用:
print(*lst)
# string1 string2 string3
添加分隔符将删除空格:
print(*lst, sep='')
# string1string2string3'
答案 1 :(得分:0)
在python中,*
用于扩展列表。例如,以下函数接受任意数量的参数:
def func(*args):
print(args)
后面的代码段将打印my_list
的所有元素,并用空格隔开:
my_list = ['a', 'b', 'c']
print(*my_list)
# a b c
答案 2 :(得分:0)
它将列表解压缩。如果您只是使用
print(sorted("123"))
Python将打印['1','2','3']
。但是,当您使用
print(*sorted("123"))
Python看到print('1','2','3')
并打印出来而不是列表。
答案 3 :(得分:0)
使用的<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">System <b class="caret"></b></a>
<ul class="dropdown-menu">
<li>@Html.ActionLink("Html Editor", "Index", "HtmlEditor")</li>
<li>@Html.ActionLink("App Settings", "Index", "AppCommon")</li>
<li>@Html.ActionLink("Image Slider Photos", "ParkingImageSlider", "ReservMain")</li>
<li>@Html.ActionLink("Settings for Reservations Page", "AppSettingsWebPage", "ReservMain")</li>
</ul>
是一个可迭代的拆包运算符,它使用值列表,并将它们作为字符串返回。相当于*
的一种。由于函数"".join(list)
具有列表作为返回类型,因此出于我们的目的,我们需要将其显式转换为字符串。
sorted()
sorted()函数通过*sorted(input(), key=order.index), sep=''
接受用户输入。
提供了自定义键功能,以自定义关键字的排序顺序
功能。即现在字符将在
中排序
input()
个
订单。
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1357902468
去除字符串中的所有空格(是其中的一部分)。