我想知道如何初始化一个数组(或列表),但要用值填充,以具有定义的大小.
例如在C中:
int x[5]; /* declared without adding elements*/
Run Code Online (Sandbox Code Playgroud)
我如何在python中做到这一点?
谢谢.
在学习C的过程中,我犯了一些错误并打印出未初始化的字符数组元素.
如果我将数组的大小扩展为相当大,比如说大小为100万个元素然后打印内容,那么出来的并不总是用户不可读,但似乎包含一些运行时信息.
请考虑以下代码:
#include <stdio.h>
main() {
char s[1000000];
int c, i;
printf("Enter input string:\n");
for (i = 0; ( c = getchar()) != '\n'; i++) {
s[i] = c;
}
printf("Contents of input string:\n");
for (i = 0; i < 999999; i++) {
putchar(s[i]);
}
printf("\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
只需滚动输出,我会发现如下内容:
?? ?L' ?????? _ dyldVersionNumber_dyldVersionString_dyld_all_image_infos_dyld_fatal_error_dyld_shared_cache_ranges_error_string__mh_dylinker_header_stub_binding_helper_dyld_func_lookup_offset_to_dyld_all_image_infos__dyld_start__ZN13dyldbootstrapL30randomizeExecutableLoadAddressEPK12macho_headerPPKcPm__ZN13dyldbootstrap5startEPK12macho_headeriPPKcl__ZN4dyldL17setNewProgramVarsERK11ProgramVars__ZN4dyld17getExecutablePathEv__ZN4dyld22mainExecutablePreboundEv__ZN4dyld14mainExecutableEv__ZN4dyld21findImageByMachHeaderEPK11mach_header__ZN4dyld26findImageContainingAddressEPKv
并且,
Apple Inc.1&0 $ U?0?*?H ?? CA0?"0ple Certification Authority10U?GP ?? GP ?? ^ y? - ?6?WLU ???? Kl ??"0?>?P? A ??????????????????????????????????????????????????????????????????????????????????? ?ˬ,运算δλ0 24 C'= …
我需要将列表附加到 2D 列表,以便我可以编辑添加的列表。我有这样的事情:
n = 3
a = [
['a', 2, 3],
['b', 5, 6],
['c', 8, 9]
]
b = [None for _ in range(n)] # [None] * n
print b
a.append(b)
a[3][0] = 'e'
print a
a.append(b)
a[4][0] = 'f'
print a
Run Code Online (Sandbox Code Playgroud)
我得到的结果是:
[None, None, None]
[['a', 2, 3], ['b', 5, 6], ['c', 8, 9], ['e', None, None]]
[['a', 2, 3], ['b', 5, 6], ['c', 8, 9], ['f', None, None], ['f', None, None]]
Run Code Online (Sandbox Code Playgroud)
第e
4 行更改为f …