遍历列表并进行比较

时间:2018-07-09 18:51:41

标签: python list parsing traversal

我有两个列表:focalStart(从另一个函数导入)是时间戳列表,而startDate是从csv文件读取的时间戳。该函数的目标是遍历focalStart并将索引附加到新列表start中,如果元素大于或等于{{ 1}},并且大于第i + 1个 元素。

我拥有的代码有效,但是startDate的长度取决于csv文件,并且会更改。我知道可以使用循环来完成此操作,但是我尝试过的所有操作均不起作用。感谢所有帮助。

startDate

3 个答案:

答案 0 :(得分:0)

尝试:

for x in focalStart:
    for y in range(len(startDate)):
        if x >= startDate[y] and x < startDate[y+1]:
            start.append(startDate[y])

答案 1 :(得分:0)

虽然另一个答案很接近,但我相信您需要在startDate条件周围加上len(),以便将索引传递给range()。试试这个:

for x in focalStart:
    for y in range(len(startDate)):
        if x >= startDate[y] and x < startDate[y+1]:
            start.append(startDate[y])

答案 2 :(得分:0)

如果您保证import React, { Component } from 'react'; import { Redirect, Route, Switch } from 'react-router-dom'; import { Container } from 'reactstrap'; import { AppAside, AppBreadcrumb, AppFooter, AppHeader, AppSidebar, AppSidebarFooter, AppSidebarForm, AppSidebarHeader, AppSidebarMinimizer, AppSidebarNav, } from '@coreui/react'; // sidebar nav config import navigation from '../../_nav'; // routes config import routes from '../../routes'; import DefaultAside from './DefaultAside'; import DefaultFooter from './DefaultFooter'; import DefaultHeader from './DefaultHeader'; class DefaultLayout extends Component { render() { //console.log(localStorage.getItem('jwtToken')); console.log(`default layout props:\n ${this.props}`); return ( <div className="app"> <AppHeader fixed> <DefaultHeader /> </AppHeader> <div className="app-body"> <AppSidebar fixed display="lg"> <AppSidebarHeader /> <AppSidebarForm /> <AppSidebarNav navConfig={navigation} {...this.props} /> <AppSidebarFooter /> <AppSidebarMinimizer /> </AppSidebar> <main className="main"> <AppBreadcrumb appRoutes={routes}/> <Container fluid> <Switch> {routes.map((route, idx) => { return route.component ? (<Route key={idx} path={route.path} exact={route.exact} name={route.name} render={props => ( <route.component {...props} /> )} />) : (null); }, )} <Redirect exact from='/authenticated' to='/dashboard'/> </Switch> </Container> </main> <AppAside fixed hidden> <DefaultAside /> </AppAside> </div> <AppFooter> <DefaultFooter /> </AppFooter> </div> ); } } export default DefaultLayout; 的长度是startDate的一倍或更多,那么就可以做到这一点而不必使用嵌套循环。

focalStart

start = [] for (index, timeStamp) in enumerate(focalStart): if(timeStamp >= startDate[index] and timeStamp > startDate[index+1]): start.append(index) enumerate(focalStart)设置为timeStamp的元素,同时将focalStart设置为在index中找到的timeStamp的位置。