分离输入并放入Python动态数组

时间:2018-10-10 10:06:07

标签: python python-3.x

我在Visual Studio上研究Python 3项目。 我用以下代码对整数输入进行锯齿处理:

dynamic_arrayList = [ ]
hexdec = input("Enter even number ");
strArray = [hexdec[idx:idx+2]  for idx in range(len(hexdec)) if idx%2 == 0]
dynamic_arrayList.append(strArray)
print(dynamic_arrayList)

过一会儿,当用户输入011001时,输出为[["01","10","01"]]

当我调用列表中的第一个元素时,它给出了["01","10","01"]的整数,但是我只想看到01 有什么办法吗?

3 个答案:

答案 0 :(得分:0)

这是一个嵌套列表,因此您可以调用第一个元素[0]并将其放入列表中,然后调用该列表的第一个元素:

[["01","10","01"]]的第一个元素是["01","10","01"]["01","10","01"]的第一个元素是01

dynamic_arrayList = [ ]
hexdec = input("Enter even number ");
strArray = [hexdec[idx:idx+2]  for idx in range(len(hexdec)) if idx%2 == 0]
dynamic_arrayList.append(strArray)
print(dynamic_arrayList[0][0])

答案 1 :(得分:0)

您要将列表strArray附加到另一个列表dynamic_arrayList,因此strArray的值嵌套在列表列表中。

您可以使用01访问值dynamic_arrayList[0][0],例如dynamic_arrayList列表的第一个子列表中的第一个元素,或者没有充分的理由嵌套{{ 1}}在另一个列表中,您只需使用strArray来访问该项目。

答案 2 :(得分:0)

之所以会这样,是因为您通过执行listdynamic_arrayList.append(strArray)附加到另一个dynamic_arrayList = [ ] hexdec = input("Enter even number "); strArray = [hexdec[idx:idx+2] for idx in range(len(hexdec)) if idx%2 == 0] dynamic_arrayList += strArray print(dynamic_arrayList)

如果您不想在列表中添加列表,请执行以下操作:

dynamic_arrayList = strArray

或执行以下操作:dynamic_arrayList

如果您不想更改dynamic_arrayList[0][0]的结构,则可以访问第一个元素,例如: public class SharedHelper { public static SharedPreferences sharedPreferences; public static SharedPreferences.Editor editor; public static void putKey(Context context, String Key, String Value) { sharedPreferences = context.getSharedPreferences(BuildConfig.APPLICATION_ID, Context.MODE_PRIVATE); editor = sharedPreferences.edit(); editor.putString(Key, Value); editor.apply(); } public static String getKey(Context context, String Key) { sharedPreferences = context.getSharedPreferences(BuildConfig.APPLICATION_ID, Context.MODE_PRIVATE); return sharedPreferences.getString(Key, ""); } }