灵感来自Raymond Chen的帖子,假设你有一个4x4二维数组,写一个旋转90度的函数.Raymond链接到伪代码的解决方案,但我希望看到一些现实世界的东西.
[1][2][3][4]
[5][6][7][8]
[9][0][1][2]
[3][4][5][6]
Run Code Online (Sandbox Code Playgroud)
变为:
[3][9][5][1]
[4][0][6][2]
[5][1][7][3]
[6][2][8][4]
Run Code Online (Sandbox Code Playgroud)
更新:尼克的答案是最直接的,但有没有办法比n ^ 2做得更好?如果矩阵是10000x10000怎么办?
假设我有字符串1:2:3:4:5,我想得到它的最后一个字段(5在这种情况下).我如何使用Bash做到这一点?我试过cut,但我不知道如何指定最后一个字段-f.
我需要列表的最后9个数字,我确信有一种方法可以用切片来做,但我似乎无法得到它.我可以像这样获得前9个:
num_list[0:9]
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒.
为什么列表没有像字典那样安全的"获取"方法?
>>> d = {'a':'b'}
>>> d['a']
'b'
>>> d['c']
KeyError: 'c'
>>> d.get('c', 'fail')
'fail'
>>> l = [1]
>>> l[10]
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud) 如何在Python中将字符串截断为75个字符?
这是在JavaScript中完成的:
var data="saddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsadddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
var info = (data.length > 75) ? data.substring[0,75] + '..' : data;
Run Code Online (Sandbox Code Playgroud) 我想知道对for循环中的最后一个元素进行特殊处理的最佳方法(更紧凑和"pythonic"方式).有一段代码只能在元素之间调用,在最后一个元素中被抑制.
以下是我目前的工作方式:
for i, data in enumerate(data_list):
code_that_is_done_for_every_element
if i != len(data_list) - 1:
code_that_is_done_between_elements
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法?
注意:我不想使用hacks,例如使用reduce;)
假设我们有一个从0到1000的数字列表.是否有一种pythonic /有效的方法来生成第一个和后续第10个项目的列表,即[0, 10, 20, 30, ... ]?
是的,我可以使用for循环执行此操作,但我想知道是否有更简洁的方法来执行此操作,甚至可能在一行中?
我现在正在教自己Python,只是想简单地说(参考下面的例子)sys.argv [1]代表什么.它只是要求输入吗?
#!/usr/bin/python3.1
# import modules used here -- sys is a very standard one
import sys
# Gather our code in a main() function
def main():
print ('Hello there', sys.argv[1])
# Command line args are in sys.argv[1], sys.argv[2] ..
# sys.argv[0] is the script name itself and can be ignored
# Standard boilerplate to call the main() function to begin
# the program.
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud) 有没有办法可以从列表中获取前10个结果.这样的事情可能是:
list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
list.fetch(10)
Run Code Online (Sandbox Code Playgroud)
?
如何从字符串中删除前x个字符?例如,如果有一个字符串lipsum,他们将如何删除前3个字符并获得结果sum?