如何在Python 2.7中从同一列表中打印两个数字

时间:2018-05-12 09:00:51

标签: python short

所以我被分配为列表上的技能开发制作一个简短的程序。 这是代码:

x=[21,23,25,27]
y=[5,6,7,8]
z=x+y
print (z)
z[0]=45
print (z)
a=[x+y]
print a
print (a[1][2])

我们被要求做的是猜测代码会打印什么。但是最后一行不起作用而且我总是会出错。这条线是直接从给定的练习中给出的。显示[1]和[1]的唯一方法[2]元素是在for i in range命令中执行它我是否正确?我尝试了其他不起作用的语法,我相信这是唯一的方法。

4 个答案:

答案 0 :(得分:1)

a=[x+y],此处+将创建一个新列表并将其添加到另一个列表中,以便创建包含两个内部列表的2D列表,使用,作为分隔符,其中+作为, 1}}充当连接操作,因此使用a=[x,y] 作为

x=[21,23,25,27]
y=[5,6,7,8]
z=x+y
print (z)
z[0]=45
print (z)
a = [[i,j] for i,j in zip(x,y)]
# i is element in x and j is element in y
# [i,j] a new list with elements i and j
print(a)
#a=[x,y]
print (a[0]) # [21,5]

要使用带有新列表的单个索引打印具有相同索引的元素,我们可以创建一个将相同索引值保持在一起的2D列表

import React from 'react';
import PropTypes from 'prop-types';
import { Redirect, Route } from 'react-router-dom';
import axios from 'axios';

const PRIVATE_ROOT = '/account';
const PUBLIC_ROOT = '/';

const RenderRoute = ({response, isPrivate, Route, Redirect, component, ...props}) => {
    console.log('is_logged', response.data.is_logged); // boolean
    console.log('isPrivate', isPrivate); // boolean
    console.log('response', response); // axios object
    console.log('route', Route); // function route
    console.log('component', component); // home component
    console.log('props', {...props}); // route props
    if (response.data.is_logged) {
        // set last activity on local storage
        let now = new Date();
        now = parseInt(now.getTime() / 1000);
        localStorage.setItem('last_active', now );

        return isPrivate
        ? <Route { ...props } component={ component } />
        : <Route { ...props } component={ component } />;
    } else {
        return isPrivate
        ? <Redirect to={ PUBLIC_ROOT } />
        : <Route { ...props } component={ component } />;
    }
}

const AuthRoute = ({component, ...props}) => {
    const { isPrivate } = component;
    let last_active_client = localStorage.getItem('last_active') ? localStorage.getItem('last_active') : 0;
    let data = {
    last_active_client: last_active_client
    }
    let getApiSession = new Promise((resolve) => {
        resolve(axios.post('/api-session', data));
    });
    getApiSession.then(response => RenderRoute({response, isPrivate,Route, Redirect, component, ...props})
).catch((error) => {
        console.log(error);
 });
 }


export default AuthRoute;

答案 1 :(得分:0)

你可以像你说的那样使用for语句。但也有另一种方式。你可以试试这个:

print(a[:3])

上述代码基本上将从a开始到2,即3之前打印元素。

答案 2 :(得分:0)

错误归结为索引a[1]

示例:

x=[21,23,25,27]
y=[5,6,7,8]
z=x+y
print (z)
z[0]=45
print (z)
# a = list of lists, where x+y is the first and only list [[x+y],...]
a=[x+y]
print(a)
# print [x+y]
print (a[0])
# a[1][2] here 1 was out of bounds
# a[0][2] the third member of list [0], i.e. [x+y]
print (a[0][2])
# list of lists, with two memmbers [x, y]
a = [z,y]
print(a)
# first member of x
print(a[0][0])
# print first member of y
print(a[1][0])

输出:

# print (z)
[21, 23, 25, 27, 5, 6, 7, 8]
# print(z)
[45, 23, 25, 27, 5, 6, 7, 8]
# print(a)
[[21, 23, 25, 27, 5, 6, 7, 8]]
# print(a[0])
[21, 23, 25, 27, 5, 6, 7, 8]
# print(a[0][2])
25
# print([z,y])
[[45, 23, 25, 27, 5, 6, 7, 8], [5, 6, 7, 8]]
# print a[0][0]
45
# print a[1][0]
5

答案 3 :(得分:0)

在您提出的问题中或在您的写作中存在错误,因为它没有索引1.

a中有一个元素,它是一个列表。该列表与z

相同
<canvas></canvas>
<script src="https://twgljs.org/dist/4.x/twgl-full.js"></script>
<div id="ui">
  <div>zoom:<span id="zoom"></span></div>
</div>

创建一个包含所有x和y元素的新列表

z = x+y

a与[z]列表中的z列表相同

里面只有一个[0],它是x + y的列表

你可以有一个[0] [2],即25

但没有[1]